I needed a parser generator to generate parsers that blend in perfectly with my projects.

Imperator is a parser generator for LL(*) context-free grammars, with nested lookaheads, specializations for tokens (e.g. for keywords), and support for C#, C++ and Java as the target platforms. It supports regular expressions for tokens, syntactic lookahead within lookahead, and generates actually readable (and debuggable) code. The grammar definitions are easy to create and maintain, and deployment of the generated parsers is pretty much trivial. The output exploits features of modern target object-oriented languages, like nodes in the output tree being typed as inner nodes representing rule instances or leaf nodes representing matched tokens. Tokens not only have images of their matched content attached, they also contain precise and reliable line and character numbers. If anything's wrong with the input for a generated parser, proper error messages will help you and your program's users pinpoint the fault locations accurately in an instant.

Note: If a download link does not work, refresh this page with Ctrl+F5 in your browser and try the newest link again.

Imperator v. 1.3.1 @ 2015-07-20 (44 kiB)
Design by Shrinker.