
jigsaw-library
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# 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.
Project Information
The project was created on Sep 11, 2011.
- License: MIT License
- 20 stars
- svn-based source control