PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Growing languages with metamorphic syntax macros
PEPM '02 Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
OpenJava: A Class-Based Macro System for Java
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
Beyond Generic Component Parameters
CD '02 Proceedings of the IFIP/ACM Working Conference on Component Deployment
Static analysis for syntax objects
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Building language towers with ziggurat
Journal of Functional Programming
Yet another language extension scheme
SLE'09 Proceedings of the Second international conference on Software Language Engineering
SBLP'12 Proceedings of the 16th Brazilian conference on Programming Languages
Hi-index | 0.00 |
Conventional procedure and type definition mechanisms are not sufficiently powerful to express many programming aberrations that can be captured by syntactic transformations. Unfortunately, conventional macroprocessing is oblivious to the semantics of the base language, resulting in scoping anomalies, poor handling of static semantic errors, and an inability to perform transformations dependent on semantic attributes of the manipulated program. We introduce a new mechanism, semantic macros, which permit such transformations a significant level of access to the static semantic properties of the program fragments they manipulate. In this way, new static semantic processing, including compilation of embedded languages with a rich static semantics of their own, can be incorporated into user-defined language extensions. A proof-of-concept language, XL, is described which embodies this mechanism.