Extensible Programming and Modeling Languages
Abstract:
Extensible programming and modeling languages allow their users to import new features into their language. These may be new syntax (notations), new semantics (e.g. analysis for additional error checking), new optimizations, and new translations packaged as language extensions. Ideally, programmers and engineers with no knowledge of language design or implementation can direct tools to compose a "host" language with their chosen set of language extensions resulting in a custom translator or compiler for their extended language. To achieve this goal, languages and extensions are specified declaratively using context free grammars and attribute grammars. We describe a set of tools for generating translators and compilers from these specifications and a set of analyses that language extensions designers can use to verify that the composition of their extension and other similarly verified, independently developed, extensions will work as desired with the host language. These analyses ensure that the generated LR parser will be deterministic with no conflicts and that the attribute grammar will be complete, that is, has equations defining all needed attributes. Thus, the user is assured that their chosen language extensions will all work together. Example extensions to Java, C, Lustre, and Modelica will be discussed.
Presentation Slides
Biography:
Eric Van Wyk is an Associate Professor in the Computer Science and Engineering department at the University of Minnesota. He received his Ph.D. from the University of Iowa in 1998 and was a post-doctoral researcher in the Computing Laboratory at Oxford University before joining the University of Minnesota in 2002. His research interests include extensible programming and modeling languages and the extensible compiler frameworks that implement such languages. He is also interested in declarative specification of program optimizations and techniques for proving their correctness. Dr. Van Wyk is a 2005-2007 McKnight Land-Grant Professor and a recipient of an NSF CAREER Award.