program registration submissions committee lodging portland

D22: The Silver Extensible Java Compiler and Modular Language Extensions

D22: The Silver Extensible Java Compiler and Modular Language Extensions

Tuesday, Oct 24, from 13:30 to 14:00
Wednesday, Oct 25, from 11:00 to 11:30
Thursday, Oct 26, from 11:30 to 12:00
Thursday, Oct 26, from 15:30 to 16:00

Keywords: extensible languages, attribute grammars In this demonstration we show how programmers can create new domain-adapted languages by importing a set of domain-specific language extensions into the Silver extensible Java compiler. The extended language defined by this process raises the level of abstraction to that of a particular problem, even when the problem crosses multiple domains. Such languages have the potential to improve the software development process and software quality by reducing the semantic gap between the programmer's high-level understanding of the problem and the relatively low-level language in which problem solutions are encoded. Several domain-specific extensions will be demonstrated. One embeds SQL into Java so that natural syntax and compile-time syntax and type checking can be used for SQL queries. Another introduces condition tables from synchronous languages like RSML-e and SCR. These present complex boolean conditions in an easy-to-read tabular format. A third extension facilitates the writing of computational geometry programs via efficient unbounded integer types and symbolic perturbation to handle data degeneracies and improve program robustness. All extensions are modular and can be imported together into the extensible Java compiler. Besides defining the syntax of new language constructs, extensions also define the semantic analyses and optimizing transformations of the new constructs. One aspect of semantic analysis is error checking; extensions should report useful error messages when they are used incorrectly. An important characteristic of these language extensions is that the programmer does not need any implementation-level knowledge of the extensions to import it into the host language. The extensions are also modular so that several can be simultaneously composed with the Java host language. The host language and language extenions are specified as higher order attribute grammars extended with forwarding and this provides modularity that we seek.

Eric Van Wyk, University of Minnesota
Derek Bodin, University of Minnesota
Lijesh Krishnan, University of Minnesota
Phillip Russel, University of Minnesota
August Schwerdfeger, University of Minnesota

Demonstration Schedule

While Space Available
program registration submissions committee lodging portland
For comments and questions about the web site
please contact us at
© 2005 OOPSLA