Skip to content
An attribute grammar-based programming language for composable language extensions
Branch: develop
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
generated Revert "Revert "Feature/monto+highlight"" Apr 20, 2017
grammars Additional error checking for pattern/expression escape translation Jun 15, 2019
resources/ide_skeleton Stop using the language name to name ide artifacts, use the grammar. Feb 11, 2015
runtime Merge branch 'develop' into cleanup/builtins Apr 5, 2019
sandbox/bools Rename uses of 'Production' to 'Function' in Silver. Mar 13, 2012
support Add comment that the cron-job-publish-jars script is also used by the… Feb 15, 2019
test Add support for float patterns Apr 19, 2019
tutorials clean up builtins, and reduce extraneous error messages Apr 4, 2019
.gitignore Remove IdeMessage, use langutil Message directly. Aug 8, 2018
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 Fix typo in Jenkinsfile Feb 15, 2019
README.md Update README.md 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 Another typo Jan 15, 2019
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

README.md

Silver

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.

Prerequisites

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:

./update

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

The Silver web site

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

http://melt.cs.umn.edu/silver

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

http://melt.cs.umn.edu

Acknowledgements

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.

Licensing

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/.

You can’t perform that action at this time.