User Interface of ParsGen

ParsGen

Generating parsers from grammars
User Interface of ParsGen
Image: Julien Klaus

Matrix calculusExternal link, GENOExternal link, and LinAExternal link require formally specified linear algebra expressions as input. The correct form of expressions is defined by a grammar. To check if a given input conforms to the grammar, we use a parser. Whenever we change the grammar, for instance by adding new function symbols, we also have to change the parser. Changing the parser manually can be a tedious and error-prone process. Therefore, it is convenient to have a tool that generates a parser from the grammar.   

We have developed ParsGenExternal link, which translates an arbitrary LL(1) grammar into a respective parser. The parser can then be used to check whether a given input string matches the grammar. Furthermore,  ParsGen can also generate examples that conform to the grammar and display the grammar as a railroad diagram, allowing a better understanding of the grammar itself.

ParsGen is a result of the BSc thesis of Oliver Berteit.

Julien Klaus
Julien Klaus
Room 3312
Ernst-Abbe-Platz 1-2
07743 Jena