Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1066677.1066985acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
Article

A two-dimensional separation of concerns for compiler construction

Published: 13 March 2005 Publication History

Abstract

During language evolution, compiler construction is usually performed along two dimensions: defining new abstract syntax tree (AST) classes, or adding new operations. In order to facilitate such changes, two software design patterns (i.e., the inheritance pattern and the visitor pattern) are widely used to help modularize the language constructs. However, as each design pattern is only suitable for one dimension of extension, neither of these two patterns can independently fulfill the evolution needs during the compiler construction process. In this paper, we analyze two dimensions of concerns in compiler construction and develop a paradigm allowing compiler evolution across these two dimensions using both object-orientation and aspect-orientation. Moreover, this approach provides an ability to perform pattern transformation based on pluggable aspects. A simple implementation of an expression language and its possible extension is demonstrated using Java and AspectJ.

References

[1]
R. Weatherley. TreeCC: An Aspect-Oriented Approach to Writing Compilers. http://www.southern-storm.com.au/treecc.html.]]
[2]
E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns, Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.]]
[3]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin. Aspect-Oriented Programming. In Proc. 11th European Conf. Object-Oriented Programming (ECOOP), Springer-Verlag, LNCS 1241, 1997, pp. 220--242.]]
[4]
J. Hannemann and G. Kiczales. Design Pattern Implementation in Java and AspectJ. In Proc. Object-Oriented Programming, Systems, and Applications (OOPSLA), 2002, pp. 161--173.]]
[5]
O. Hachani and D. Bardou. Using Aspect-Oriented Programming for Design Patterns Implementation. In Proc. Workshop Reuse in Object-Oriented Information Systems Design, 2002.]]
[6]
P. Tarr, H. Ossher, W. Harrison, and S. Sutton. N Degrees of Separation: Multi-Dimensional Separation of Concerns. In Proc. Int. Conf. Software Engineering (ICSE), 1999, pp. 107--119.]]
[7]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An Overview of AspectJ. In Proc. 15th European Conf. on Object-Oriented Programming (ECOOP), Springer-Verlag, LNCS 2072, 2001, pp. 327--355.]]
[8]
B. R. Bryant and B.-S. Lee. Two-Level Grammar as an Object-Oriented Requirements Specification Language. In Proc. 35th Hawaii Int. Conf. System Sciences (HICSS), 2002.]]
[9]
J. E. Hopcroft, R. Motwani, and J. D. Ullman. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, 2001.]]
[10]
X. Wu, B. R. Bryant, and M. Mernik. Object-Oriented Pattern-Based Language Implementation. Technical Report, http://www.cis.uab.edu/wuxi/paper/acta.pdf]]
[11]
I. Baxter, C. Pidgeon, and M. Mehlich. DMS: Program Transformation for Practical Scalable Software Evolution. In Proc. Int. Conf. Software Engineering (ICSE), 2004, pp. 625--634.]]
[12]
O. de Moor, S. Peyton-Jones, and E. Van Wyk. Aspect-oriented Compilers. In Proc. Generative and Component-Based Software Engineering (GCSE), Springer-Verlag, LNCS 1799, 2000, pp. 121--133]]

Cited By

View all

Index Terms

  1. A two-dimensional separation of concerns for compiler construction

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SAC '05: Proceedings of the 2005 ACM symposium on Applied computing
    March 2005
    1814 pages
    ISBN:1581139640
    DOI:10.1145/1066677
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 13 March 2005

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. aspect-oriented programming
    2. compiling
    3. pattern transformation
    4. separation of concerns

    Qualifiers

    • Article

    Conference

    SAC05
    Sponsor:
    SAC05: The 2005 ACM Symposium on Applied Computing
    March 13 - 17, 2005
    New Mexico, Santa Fe

    Acceptance Rates

    Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

    Upcoming Conference

    SAC '25
    The 40th ACM/SIGAPP Symposium on Applied Computing
    March 31 - April 4, 2025
    Catania , Italy

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)2
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 06 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2010)Building a Family of CompilersApplied Software Product Line Engineering10.1201/9781420068429-c9(201-229)Online publication date: 28-Apr-2010
    • (2009)Data-driven executable language model2009 International Multiconference on Computer Science and Information Technology10.1109/IMCSIT.2009.5352766(667-674)Online publication date: Oct-2009
    • (2008)Building a Family of CompilersProceedings of the 2008 12th International Software Product Line Conference10.1109/SPLC.2008.28(307-316)Online publication date: 8-Sep-2008
    • (2006)Separation of concerns in compiler development using aspect-orientationProceedings of the 2006 ACM symposium on Applied computing10.1145/1141277.1141646(1585-1590)Online publication date: 23-Apr-2006
    • (2005)Applying object-orientation and aspect-orientation in teaching domain-specific language implementationJournal of Computing Sciences in Colleges10.5555/1089053.108910321:2(335-340)Online publication date: 1-Dec-2005
    • (2005)Pattern transformation for two-dimensional separation of concernsCompanion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications10.1145/1094855.1094943(218-219)Online publication date: 16-Oct-2005
    • (2005)Pattern transformation for two-dimensional separation of concernsProceedings of the 2005 workshop on Modeling and analysis of concerns in software10.1145/1083125.1083133(1-5)Online publication date: 15-May-2005
    • (2005)Pattern transformation for two-dimensional separation of concernsACM SIGSOFT Software Engineering Notes10.1145/1082983.108313330:4(1-5)Online publication date: 15-May-2005

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media