A survey of adaptable grammars
ACM SIGPLAN Notices
Generation and recognition of formal languages by modifiable grammars
ACM SIGPLAN Notices
USSA—universal syntax and semantics analyzer
ACM SIGPLAN Notices
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Some remarks on the syntax of symbolic programming languages
Communications of the ACM
Growing languages with metamorphic syntax macros
PEPM '02 Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
The Java syntactic extender (JSE)
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Abstraction mechanisms in the BETA programming language
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
JTS: Tools for Implementing Domain-Specific Languages
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Parsing expression grammars: a recognition-based syntactic foundation
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The jastadd extensible java compiler
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
OMeta: an object-oriented language for pattern matching
Proceedings of the 2007 symposium on Dynamic languages
Executable Grammars in Newspeak
Electronic Notes in Theoretical Computer Science (ENTCS)
The introduction of definitional facilities into higher level programming languages
AFIPS '66 (Fall) Proceedings of the November 7-10, 1966, fall joint computer conference
Hi-index | 0.00 |
Current programming languages and techniques realize many features which allow their users to extend these languages on a semantic basis: classes, functions, interfaces, aspects and other entities can be defined. However, there is a lack of modern programming languages which are both semantically and syntactically extensible from within the language itself, i.e., with no additional tool or meta-language. In this paper we present π as an approach that aims to overcome this lack. π provides an abstraction mechanism based on parameterized symbols which is capable of semantically and syntactically unifying programming concepts like variables, control-structures, procedures and functions into one concept: the pattern. We have evaluated the abstraction potential and the syntactic extensibility of π by successfully creating patterns for the aforementioned programming concepts. π could serve as a tool for designing new experimental languages and might generally influence the view we have on current programming concepts.