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.