Minnesota Extensible Language Tools Group (original) (raw)

Silver

Silver is an extensible attribute grammar specification language and system that we have developed to investigate highly-modular attribute grammar-based language specifications. The first paper to read about Silver is “Silver: an Extensible Attribute Grammar System”.

Silver supports many extensions to D. E. Knuth’s original specification of attribute grammars. These include:

An SLE 2011 paper describes some of these features.

Silver also has a modular analysis (see this SLE 2012 paper) that can be used in extensible languages to ensure that the composition of independently developed language extensions (that all pass this analysis) compose to form a well-defined attribute grammar.

Silver comes bundled with Copper, our parser and context-aware scanner generator.

AbleC is written in Silver. Silver itself is bootstrapped and written in Silver. We have also used Silver to implement extensible versions of Java (see this paper) and Promela, the specification language for the Spin model checker (see this paper).