The ALIA4J approach to efficient language implementation

Christoph Bockisch, Andreas Sewe

    Research output: Contribution to conferencePaperAcademic

    1 Citation (Scopus)

    Abstract

    New programming languages are frequently designed to improve upon other languages or to simplify programs through domain-specific abstractions. They are often implemented as transformations to an established (intermediate) language (IL). But while many new languages overlap in the semantics of their core concepts, re-using the corresponding transformations is limited by existing compiler implementation frameworks. In the ALIA4J approach, we have identified dispatching as fundamental to most abstraction mechanisms and provide a meta-model of dispatching as a rich, extensible IL. Based on this meta-model, the semantics of new atomic language concepts can be implemented in a modular and portable fashion. For the execution of the IL, we provide both platform-independent and platform-dependent Java Virtual Machine extensions, the latter of which allows the modular implementation of machine code optimizations. In this demo, participants get an overview of advanced dispatching and the ALIA4J approach. By the example of a language for text-based adventure games, they will see the usage of ALIA4J as back-end for a language developed in a modern Language Workbench. Finally, the implementation of new atomic language concepts and their optimization is demonstrated.
    Original languageUndefined
    Pages19-20
    DOIs
    Publication statusPublished - 2012
    Event3rd Annual Conference on Systems, Programming, and Applications, SPLASH 2012: Software for Humanity - Tucson, United States
    Duration: 19 Oct 201226 Oct 2012
    Conference number: 3

    Conference

    Conference3rd Annual Conference on Systems, Programming, and Applications, SPLASH 2012
    Abbreviated titleSPLASH
    CountryUnited States
    CityTucson
    Period19/10/1226/10/12

    Keywords

    • IR-85846

    Cite this