Tunnel Grammar Studio modules
Modules included into the IDE
All basic functionalities that every instance of the studio must have, as a Graphical Unit Interface (GUI), Lexer grammar, Parser Grammar, Error Reporting and Automatic Demo Parsing Machine generation.
Rendering of the lexer and parser grammars as an automata layouts directly into the IDE
Real-time debugging directly integrated into the IDE
For every generated parser, additionaly test cases are generation.
Threading options that will be available for the generated parsers
Ability to generate single thread parsing machines
Ability to generate multi thread parsing machines
Options available for the generated parsers to decode the input byte data into characters
ASCII (character decoder for American Standard Code for Information Interchange), WIN 1252 (single byte decoder for the WIN 1252 encoding) and ISO/IEC 8859-1 (bytes encoded with ISO/IEC 8859-1 standard)
Decoding of the input stream as UTF-8, UTF16 LE/BE and UTF-32 LE/BE characters.
Available options that control the details of the location information, that will be available in case of an error and in the syntax tree elements if such a functionality is chosen
Calculate the byte offset and the code point offset. Useful for detailed error reporting or locating specific tree elements into the input stream. For line character indexes, respected are many line terminators as CR, CRLF, LF and others as per the documentation.
Options used in relation with the final result of the parsing - the syntax tree
Ability to generate parsers that only check for a valid input and do not generate any tree information.
Ability to generate concrete statically typed syntax trees. A visitor interface is also provided for custom concrete trees construction.
Ability to generate abstract dynamically typed syntax tress. A visitor interface is also provided for custom abstract trees construction.
Target language options for the generated parsers
Generate code for the C++ programming language.