Abstract | ||
---|---|---|
A major difficulty in compiler development regards the proper modularization of concerns among the various compiler phases. The traditional object-oriented development paradigm has difficulty in providing an optimal solution towards modularizing the analysis phases of compiler development, because implementation of each phase often crosscuts the class hierarchy defined by language syntax constructs. Object-oriented design patterns, such as the Visitor pattern, also cannot solve the crosscutting problem adequately because an object is not a natural representation of a collection of operations. This paper demonstrates the benefits of applying aspect-oriented programming languages (e.g., AspectJ) and principles to compiler design and implementation. The experience result shows that the various language constructs in AspectJ (e.g., inter-type declaration, pointcut-advice model, static aspect members and aspect inheritance) fit well with the various computation needs of compiler development, which results in a compiler implementation with improved modularity and better separation of concerns. The ideas utilized in this paper can also be generalized to other software systems with a tree-like structure. |
Year | DOI | Venue |
---|---|---|
2006 | 10.1145/1141277.1141646 | SAC |
Keywords | Field | DocType |
aspect-oriented programming language,language syntax construct,aspect inheritance,various compiler phase,object-oriented design pattern,various language construct,compiler implementation,compiler development,various computation need,traditional object-oriented development paradigm,object oriented design,compiler design,object oriented,software systems,aspect oriented programming,design patterns,separation of concern,aspect oriented,design pattern | Inline expansion,Functional compiler,Programming language,Software engineering,Computer science,Compiler correctness,Optimizing compiler,Compiler,Compiler construction,AspectJ,Intrinsic function | Conference |
ISBN | Citations | PageRank |
1-59593-108-2 | 3 | 0.49 |
References | Authors | |
4 | 5 |
Name | Order | Citations | PageRank |
---|---|---|---|
Xiaoqing Wu | 1 | 13 | 1.87 |
Barrett R. Bryant | 2 | 485 | 55.57 |
Jeff Gray | 3 | 973 | 116.57 |
Suman Roychoudhury | 4 | 169 | 16.58 |
Marjan Mernik | 5 | 3256 | 154.23 |