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:
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.
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 http://melt.cs.umn.edu
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 http://www.gnu.org/licenses/.