ACM Home Page
Please provide us with feedback. Feedback
Transforming the .NET intermediate language using path logic programming
Full text PdfPdf (252 KB)
Source International Conference on Principles and Practice of Declarative Programming archive
Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming table of contents
Pittsburgh, PA, USA
Pages: 133 - 144  
Year of Publication: 2002
ISBN:1-58113-528-9
Authors
Stephen Drape  Oxford University Computing Laboratory, Oxford OX1 3QD, United Kingdom
Oege de Moor  Oxford University Computing Laboratory, Oxford OX1 3QD, United Kingdom
Ganesh Sittampalam  Oxford University Computing Laboratory, Oxford OX1 3QD, United Kingdom
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 27,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/571157.571171
What is a DOI?

ABSTRACT

Path logic programming is a modest extension of Prolog for the specification of program transformations. We give an informal introduction to this extension, and we show how it can be used in coding standard compiler optimisations, and also a number of obfuscating transformations. The object language is the Microsoft .NET intermediate language (IL).


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
 
4
Bik, A. J. C., Brinkhaus, P. J., Knijnenburg, P. M. W., and Wijshoff, H. A. G. Transformation mechanisms in MT1. Technical report, Leiden Institute of Advanced Computer Science, 1998.
 
5
Borovansky, P., Kirchner, C., Kirchner, H., and Ringeissen, C. Rewriting with strategies in ELAN: a functional semantics. International Journal of Foundations of Computer Science 12, 1 (2001), 69--98. Also available as Technical Report A01-R-388, LORIA, Nancy (France).
 
6
 
7
Chou, A., Chelf, B., Hallam, S., and Engler, D. Checking system rules using system-specific, programmer-written compiler extensions. In USENIX Symposium on Operating System Design and Implementation (2000).
 
8
Collberg, C., Thomborson, C., and Low, D. A taxonomy of obfuscating transformations. Tech. Rep. 148, Department of Computer Science, University of Auckland, July 1997. Available from URL: http://www.cs.auckland.ac.nz/~collberg/Research/Publications/CollbergThomborsonLow97a/index.html.
 
9
Crew, R. F. ASTLOG: a language for examining abstract syntax trees. In Proceedings of the USENIX Conference on Domain-Specific Languages (1997), C. Ramming, Ed., pp. 229--242.
 
10
11
 
12
 
13
de Volder, K. Type-oriented logic meta-programming. PhD dissertation, Vrije Universiteit Brussels, 1998.
 
14
Dowd, T., Henderson, F., and Ross, P. Compiling Mercury to the .NET common language runtime. In BABEL '01: First International Workshop on Multi-Language Infrastructure and Interoperability (To appear, 2002), vol. 59 of Electronic Notes in Theoretical Computer Science.
 
15
ECMA. Standard ECMA-335: Common language infrastructure (CLI). Available from http://www.ecma.ch/ecma1/STAND/ecma-335.htm.
 
16
 
17
 
18
Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., and Irwin, J. Aspect-oriented programming. In Proceedings European Conference on Object-Oriented Programming, M. Akcsit and S. Matsuoka, Eds., vol. 1241. Springer-Verlag, Berlin, Heidelberg, and New York, 1997, pp. 220--242.
 
19
 
20
 
21
Masuhara, H., Kiczales, G., and Dutchyn, C. Compilation semantics of aspect-oriented programs. In Proceedings of the AOSD workshop on Foundations of Aspect-oriented Languages (2002), vol. TR-02-06 of Technical report, Department of Computer Science, Iowa State University, pp. 17--25.
 
22
Meijer, E., and Gough, J. A technical overview of the commmon language infrastructure. Available from URL: http://research.microsoft.com/~emeijer/Papers/CLR.pdf.
 
23
 
24
Nadathur, G., and Miller, D. Higher-order logic programming. In Handbook of logics for artificial intelligence and logic programming, D. M. Gabbay, C. Hogger, and J. A. Robinson, Eds., vol. 5. Clarendon Press, 1998, pp. 499--590.
 
25
 
26
 
27
Somogyi, Z., Henderson, F., and Conway, T. Mercury: an efficient purely declarative logic programming language. In Proceedings of the Australian Computer Science Conference (1995), pp. 499--512.
 
28
Spivey, M. Logic Programming for Programmers. Prentice Hall, 1996.
 
29
 
30
 
31
32


Collaborative Colleagues:
Stephen Drape: colleagues
Oege de Moor: colleagues
Ganesh Sittampalam: colleagues