Epsilon Grammar Studio


Epsilon Grammar Studio (EGS) is an Integrated Development Environment (IDE) for generating parsers (also known as parser generator or a compiler compiler). It is used to develop stand alone Parsing Machines (PM) from given Augmented Backus-Naur-Form (ABNF) syntax grammar. Graphical representation of the developed grammars is available directly into the IDE. EGS handles parsing deterministically for some types of ambiguous grammars, and can process streams with different encodings (ASCII, UTF8 and more). Each syntax error discovered signals a detailed event with the error location, the expected tokens/rules and the found erroneous token. The result, on successful parsing, is an explicit concrete syntax tree. The generated PM source code (including the syntax tree) is object oriented. The depth grammar rules parsing is using a dynamic memory stack, not the thread dedicated stack, to avoid stack overflow events. The target language for each PM is C++98 with single or multi threaded (Win32API) run time and x86/64 CPU architecture support. The generated PM are online - can process as much as input there is, and continue later when more become available. Additionally the studio has an integrated debugger that visualises the PM progress step by step for an input string.