My primary research interests are in programming languages, especially extensible languages. Of special interest are declarative specifications of languages and language tools. More information is available on my group's web page: Minnesota Extensible Language Tools.
In investigating extensible languages and compilers we have developed two systems for the design and implementation of languages.
-
The first is Silver, an attribute grammar specification language (and its supporting tools) that allows for the highly-modular specification of languages.
-
The second is Copper, an integrated parser and context-aware scanner generator. Context aware scanners use information from the parser to be more discriminating in the tokens they return. This often simplifies the grammar as tokens don't need to be overloaded and used in multiple contexts. This turns out to be quite useful in extensible language specification.
More information about Silver and Copper, including papers, documentation, and downloads can be found on the Silver web page and the Copper web page.