Attribute grammars as a functional programming paradigm
Proc. of a conference on Functional programming languages and computer architecture
Higher order attribute grammars
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
The Computer Journal - Special issue on procedural programming
Higher-order attribute grammars and editing environments
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Eli: a complete, flexible compiler construction system
Communications of the ACM
Composable attribute grammars: support for modularity in translator design and implementation
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Modular grammars for programming language prototyping
Modular grammars for programming language prototyping
Modularity and reusability in attribute grammars
Acta Informatica
LISA: a tool for automatic language implementation
ACM SIGPLAN Notices
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Pizza into Java: translating theory into practice
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Making the future safe for the past: adding genericity to the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
JFlow: practical mostly-static information flow control
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Impact of economics on compiler optimization
Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande
Modern C++ design: generic programming and design patterns applied
Modern C++ design: generic programming and design patterns applied
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
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
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Runtime aspect weaving through metaprogramming
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Experimental aspect-oriented language - AspectCOOL
Proceedings of the 2002 ACM symposium on Applied computing
Maya: multiple-dispatch syntax extension in Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems
Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems
Language Prototyping: An Algebraic Specification Approach: Vol. V
Language Prototyping: An Algebraic Specification Approach: Vol. V
JDBC API Tutorial and Reference, Second Edition: Universal Data Access for the Java 2 Platform
JDBC API Tutorial and Reference, Second Edition: Universal Data Access for the Java 2 Platform
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
Higher-Order and Symbolic Computation
Composing programming languages by combining action-semantics modules
Science of Computer Programming - Special issue: Language descriptions, tools and applications (LDTA'01)
Modular Denotational Semantics for Compiler Construction
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
Higher Order Attribute Grammars
Proceedings on Attribute Grammars, Applications and Systems
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Fowards a Generic Framework for AOP
ECOOP '98 Workshop ion on Object-Oriented Technology
Disambiguation Filters for Scannerless Generalized LR Parsers
CC '02 Proceedings of the 11th International Conference on Compiler Construction
Forwarding in Attribute Grammars for Modular Language Design
CC '02 Proceedings of the 11th International Conference on Compiler Construction
The CGAL Kernel: A Basis for Geometric Computation
FCRC '96/WACG '96 Selected papers from the Workshop on Applied Computational Geormetry, Towards Geometric Engineering
JTS: Tools for Implementing Domain-Specific Languages
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
A technique for constructing aspect weavers using a program transformation engine
Proceedings of the 3rd international conference on Aspect-oriented software development
DMS®: Program Transformations for Practical Scalable Software Evolution
Proceedings of the 26th International Conference on Software Engineering
.NET Framework Essentials (2nd Edition)
.NET Framework Essentials (2nd Edition)
Aspect-oriented software development
Aspect-oriented software development
CC'03 Proceedings of the 12th international conference on Compiler construction
Computer
Hi-index | 0.00 |
Extensible programming languages and their compilers are experimental systems that use highly modular specifications of languages and language extensions in order to allow a variety of language features to be easily imported, by the programmer, into his or her programming environment. Our framework for extensible languages is based on higher-order attribute grammars extended with a mechanism called ''forwarding'' that mimics a simple rewriting process. Forwarding is designed such that no additional attribute definitions need to be written when combining a ''host'' language with language extensions (specified as attribute grammars), thus allowing for the modular composition of language features. This means that programmers can remain unaware of the underlying attribute grammars when building customized languages by importing language extensions. This paper shows how aspects and the aspect weaving process from aspect-oriented programming can be specified as a modular language extension and imported into an extensible host language. This paper also illustrates how an extensible compiler framework exposes its underlying semantic analyses and how this can provide a convenient arena in which researchers can explore new aspect-oriented language features.