SystemVerilog Java Shell Emacs Lisp Vim script JavaScript Tcl
Clone or download
krame505 Merge pull request #254 from melt-umn/feature/reflection
Direct support for terminals in reflection library, introduce Silver construction extension
Latest commit 77f1be3 Jul 13, 2018
Failed to load latest commit information.
generated Revert "Revert "Feature/monto+highlight"" Apr 20, 2017
grammars Adding comments Jul 13, 2018
resources/ide_skeleton Stop using the language name to name ide artifacts, use the grammar. Feb 11, 2015
runtime Add and test missing error checking for reification of terminalAST Jun 15, 2018
sandbox/bools Rename uses of 'Production' to 'Function' in Silver. Mar 13, 2012
support Choose a random port to host nailgun, fixes conflicts on coldpress May 10, 2018
test Adding serialize/deserialize helpers, using silver construction exten… Jun 20, 2018
tutorials aliases do not work in scripts Mar 22, 2018
.gitignore Adds build.xml files to .gitignore Apr 3, 2017
COPYING adding new license - LGPL Apr 26, 2011
COPYING.LESSER adding new license - LGPL Apr 26, 2011
HISTORY kick off develop as 0.4.1 development... Oct 21, 2017
Jenkinsfile Rename melt.SILVER_WORKSPACE -> silver.SILVER_WORKSPACE Jun 29, 2018 Update Jun 6, 2018
build-everything Remove use of RunSilver. Regularize all tests/tutorials method of inv… Mar 22, 2018
deep-clean Remove use of RunSilver. Regularize all tests/tutorials method of inv… Mar 22, 2018
deep-rebuild to build this from old jars, we need home, so why not set it. Mar 22, 2018
fetch-jars Remove use of RunSilver. Regularize all tests/tutorials method of inv… Mar 22, 2018
make-dist Include silver:reflect grammar in dist Mar 2, 2018
make-ide Update self-compile script, so we can retarget it. Apr 21, 2016
make-ide-dist First audit of scripts. Use error checking. Apr 21, 2016
publish-jars More slight improvements to scripts Apr 21, 2016
self-compile Remove use of RunSilver. Regularize all tests/tutorials method of inv… Mar 22, 2018
update More slight improvements to scripts Apr 21, 2016


Silver is an attribute grammar-based language for the modular development of composable language extensions.

See About Silver below for more info.

See The Silver Install Guide for detailed information on how to get Silver set up.


Silver requires: Java 7+, Ant, Bash, and wget. It can run on Linux, MacOS, and Windows Subsystem for Linux (WSL) in Windows 10.

Silver is written in Silver, which means after checkout, you need initial jars. You can download these with a helpful script:


This will git pull to update, download jars, and clear any files generated by older versions of Silver. A one-stop-shop for updating after the initial clone.

About Silver

Silver is an extensible attribute grammar system that support many modern extensions to Knuth's original design. These include higher-order attributes, reference attributes, forwarding, aspects, and collections attributes. Its type system support parametric polymorphism. Silver is distributed with Copper, a parser and context-aware scanner generator.

Please note that Silver is a research project and while we do endeavor to create useful and quality software there may be bugs and missing functionality. Consult with us if you wish to use Silver for "serious" work. We otherwise make no guarantees about the features or performance of Silver.

Minnesota Extensible Language Tools (MELT) Group Department of Computer Science and Engineering University of Minnesota

The Silver web site

Downloads, documentation, and related papers are available on the Silver web site:

Information about Copper and sample language frameworks developed with Silver can be found on the MELT Group web site:


Silver is currently developed and maintained by

Past contributors include Derek Bodin, Lijesh Krishnan, and Jimin Gao.

We are very grateful to the National Science Foundation, the McKnight Foundation, DARPA, the University of Minnesota, and IBM for funding different aspects of our research and the development of Silver and Copper.


Silver and Copper are distributed under the GNU Lesser General Public License. See the files COPYING and COPYING.LESSER for details of these licenses. More information can be found at