"From now on, a main goal in designing a language should be to plan for growth."Guy Steele: Growing a Language, OOPSLA'98 invited talk.We present our experiences with a syntax macro language augmented with a concept of metamorphisms. We claim this forms a general abstraction mechanism forgrowing (domain-specific) extensions of programming languages.Our syntax macros are similar to previous work in that the compiler accepts collections of grammatical rules that extend the syntax in which a subsequent program may be written. We exhibit how almost arbitrary extensions can be defined in a purely declarative manner without resorting to compile-time programming. The macros arethus terminating in that parsing is guaranteed to terminate, hygienic s...
AbstractK-extended basic macro grammars are introduced, where K is any class of languages. The class...
Modern assemblers provide powerful macro facilities to enable programmers to create their own high l...
AbstractWe propose an algebra of languages and transformations as a means for extending languages sy...
“From now on, a main goal in designing a language should be to plan for growth. ” Guy Steele: Growin...
Starting from B M Leavenworth's proposal for syntactic macros, we describe an extension language LE ...
Program generation is indispensable. We propose a novel unification of two existing metaprogramming ...
Powerful, safe macro systems allow programs to be programatically constructed by the user at compile...
9 pagesThis paper describes a modified form of Kohlbecker's algorithm for reliably hygienic (captur...
High-level programming languages have been developed to simplify the communication problem between t...
Powerful, safe macro systems allow programs to be programatically constructed by the user at compile...
Today, many dialects of traditional programming languages exist [6]. In most cases, they add some pr...
The ability to add new features to programming languages is essential for language design experiment...
A syntax macroprocessor permits parameterized text substitutions with greater syntactic flexibility ...
Compile-time meta-programming allows programs to be constructed by the user at compile-time. Althoug...
Currently existing syntactic definitions employ many different notations (usually dialects of EBNF) ...
AbstractK-extended basic macro grammars are introduced, where K is any class of languages. The class...
Modern assemblers provide powerful macro facilities to enable programmers to create their own high l...
AbstractWe propose an algebra of languages and transformations as a means for extending languages sy...
“From now on, a main goal in designing a language should be to plan for growth. ” Guy Steele: Growin...
Starting from B M Leavenworth's proposal for syntactic macros, we describe an extension language LE ...
Program generation is indispensable. We propose a novel unification of two existing metaprogramming ...
Powerful, safe macro systems allow programs to be programatically constructed by the user at compile...
9 pagesThis paper describes a modified form of Kohlbecker's algorithm for reliably hygienic (captur...
High-level programming languages have been developed to simplify the communication problem between t...
Powerful, safe macro systems allow programs to be programatically constructed by the user at compile...
Today, many dialects of traditional programming languages exist [6]. In most cases, they add some pr...
The ability to add new features to programming languages is essential for language design experiment...
A syntax macroprocessor permits parameterized text substitutions with greater syntactic flexibility ...
Compile-time meta-programming allows programs to be constructed by the user at compile-time. Althoug...
Currently existing syntactic definitions employ many different notations (usually dialects of EBNF) ...
AbstractK-extended basic macro grammars are introduced, where K is any class of languages. The class...
Modern assemblers provide powerful macro facilities to enable programmers to create their own high l...
AbstractWe propose an algebra of languages and transformations as a means for extending languages sy...