An open API service indexing awesome lists of open source software.

https://github.com/stevehobbsdev/jigsaw-library

Automatically exported from code.google.com/p/jigsaw-library
https://github.com/stevehobbsdev/jigsaw-library

Last synced: about 1 year ago
JSON representation

Automatically exported from code.google.com/p/jigsaw-library

Awesome Lists containing this project

README

          

## About Jigsaw

Jigsaw is a C# library that makes building programming language tools easier. For example parsers, interpreters, translators, validators, type-checkers, pretty-printers, and so on.

At the heart of Jigsaw is a PEG PackRat parsing engine. In other words it is a recursive descent parser which uses memoization. This parsing engine is the evolution of the parsing engines used in Heron and Cat programming languages.

Included with Jigsaw are classes which facilitate writing evaluators, pretty printers, tree transformers, and expression tree compilers.

For an introduction on how to use Jigsaw see the article [Implementing Programming Languages using C#](http://www.codeproject.com/KB/recipes/programminglanguagetoools.aspx) at CodeProject.com

Related Project
There are a large number of related projects on the internet. Some of the most relevant ones are:

* Irony - A .NET Language implmentation toolkit
* LLVM - The LLVM Compiler Infrastructure project (C++)
* NRefactory - C# and VB parsing engine with semantic analysis.
* ANTLR - Parser Generator
* PEG Sharp - A C# packrat PEG parser.
* Jurassic - JavaScript Compiler for .NET
* JINT JavaScript Interpreter - A JavaScript interpreter built from the ground up using ANTLR.

Exported from [code.google.com/p/jigsaw-library](http://code.google.com/p/jigsaw-library)