Tool to transcribe Parsing Expression Grammar into a parser written in Java.
Parsing Expression Grammar (PEG) is a way to specify recursive-descent parsers with limited backtracking. The use of backtracking lifts the LL(1) restriction usually imposed by top-down parsers. In addition, PEG can define parsers with integrated lexing.
Unlike some existing parser generators for PEG, the tool does not produce a complex and storage-hungry "packrat parser", but a collection of transparent recursive procedures.
The tool can handle left recursion.
An integral feature of "Mouse" is the mechanism for specifying semantics (also in Java). This makes "Mouse" a convenient tool if one needs an ad-hoc language processor. Being written in Java, the processor is operating-system independent.
Included in the package is PEG Explorer, an interactive tool to investigate the effect of limited backtracking.
Sample grammars for Java & C are available from the Web Site.
Features
- Support for left-recursion. See http://mousepeg.sourceforge.net.
- PEG Explorer: an interactive tool to investigate the effect of limited backtracking. See http://mousepeg.sourceforge.net/explorer.htm.
- Two new operators, ":" and ":!". They simplify definition of keywords, and they enable Explorer to distinguish between keywords and identifiers.