Date and Time: Thursday, 14 April 2011, 15:45 - 16:45

Location: HG 6.96

Speaker: Eric Van Wyk (University of Minnesota)

Title: Verifiable Composition of Language Extensions: Some Solutions and Open Questions

Abstract:

There is an increasing interest in extensible languages, (domain-specific) language extensions, and mechanisms for their modular specification, composition, and implementation. One challenge of particular interest is the development of tools that allow non-expert programmers to add an individually-selected set of expressive language extensions to a host language, with some assurance that the composed language will be well-defined and function according to the expectations of the programmer and the language extensions developers.

Specifically, can parsers be built from composed grammar fragments with a guarantee that the composed grammar is free of ambiguities and can be parsed deterministically? Furthermore, can specifications of the semantic analysis of these extensions be composed to generate semantic analyzers and translators even when some extensions add new language constructs and other and new analysis or translations for only the host language constructs?

In this talk I describe some tools and techniques that answer these questions in the affirmative. Naturally, to get composability guarantees some restrictions on the host language and language extensions need to be made. To demonstrate that these restrictions allow for expressive and interesting language extensions, I will show a number of examples drawn from our experiences in building language extensions for the programming languages Java and ANSI C, the modeling languages Promela and Lustre, and the educational language Oberon0. Some interesting open questions do remain and I will conclude with a discussion of these.

About the speaker:
Dr. Eric Van Wyk is an associate professor in the Computer Science and Engineering department at the University of Minnesota. He is the recipient of an NSF CAREER Award and McKnight Land-Grant Professorship. He completed his Ph.D in 1998 at the University of Iowa and spent three years as a post-doctoral researcher in the Computing Laboratory at the University of Oxford before moving to Minnesota. He is currently on sabbatical at the Universidade do Minho in Braga, Portugal.