TU Darmstadt / ULB / TUbiblio

The ALIA4J Approach to Efficient Language Implementation

Bockisch, Christoph and Sewe, Andreas :
The ALIA4J Approach to Efficient Language Implementation.
[Online-Edition: http://dx.doi.org/10.1145/2384716.2384726]
In: Demo at the 3rd Annual Conference on Systems, Programming, and Applications: Software for Humanity, Tucson, AZ, USA. Proceedings of the 3rd Annual Conference on Systems, Programming, and Applications: Software for Humanity
[Conference or Workshop Item] , (2012)

Official URL: http://dx.doi.org/10.1145/2384716.2384726

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.

Item Type: Conference or Workshop Item
Erschienen: 2012
Creators: Bockisch, Christoph and Sewe, Andreas
Title: The ALIA4J Approach to Efficient Language Implementation
Language: English
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.

Title of Book: Proceedings of the 3rd Annual Conference on Systems, Programming, and Applications: Software for Humanity
Divisions: Department of Computer Science > Software Technology
LOEWE > LOEWE-Zentren > CASED – Center for Advanced Security Research Darmstadt
Department of Computer Science
Zentrale Einrichtungen
LOEWE
LOEWE > LOEWE-Zentren
Event Title: Demo at the 3rd Annual Conference on Systems, Programming, and Applications: Software for Humanity
Event Location: Tucson, AZ, USA
Date Deposited: 23 Oct 2012 14:02
Official URL: http://dx.doi.org/10.1145/2384716.2384726
Identification Number: doi:10.1145/2384716.2384726
Export:

Optionen (nur für Redakteure)

View Item View Item