A confluent calculus of macro expansion and evaluation
Resumen:
Syntactic abbreviations or macros provide a powerful tool to increase the syntactic expressivity of programming languages. The expansion of these abbreviations can be modeled with substitutions. This paper presents an operational semantics of macro expansion and evaluation where substitutions are handled explicity. The semantics is defined in terms of a confluent, simple, and intuitive ser of rewriting rules. The resulting semantics is also a basis for developing correct implementations.
1991 | |
Macros Explicit Substitutions Rewriting Semantics Programming Languages Substituciones Explícitas Lenguajes de Programación Semántica |
|
Universidad de la República | |
COLIBRI | |
http://hdl.handle.net/20.500.12008/3410 | |
Acceso abierto | |
Licencia Creative Commons Atribución – No Comercial – Sin Derivadas (CC BY-NC-ND 4.0) |
Sumario: | Syntactic abbreviations or macros provide a powerful tool to increase the syntactic expressivity of programming languages. The expansion of these abbreviations can be modeled with substitutions. This paper presents an operational semantics of macro expansion and evaluation where substitutions are handled explicity. The semantics is defined in terms of a confluent, simple, and intuitive ser of rewriting rules. The resulting semantics is also a basis for developing correct implementations. |
---|