Studio

Modules included into the IDE

Basic functionality

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.

Graph drawing

Rendering of the lexer and parser grammars as an automata layouts directly into the IDE

Debugger

Real-time debugging directly integrated into the IDE

Automatic Test Cases Generation

For every generated parser, additionaly test cases are generation.

Generated Parser: Threading

Threading options that will be available for the generated parsers

Single Threading

Ability to generated single thread parsing machines

Muilti Thread

Ability to generated multi thread parsing machines

Generated Parser: Input

Options available for the generated parsers to decode the input byte data into characters

One Byte Encodings

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)

Unicode

Decoding of the input stream as UTF-8, UTF16 LE/BE and UTF-32 LE/BE characters.

Generated Parser: Location Information

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

Byte, Codepoint and Line/Character Offsets

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.

Generated Parser: Syntax Tree

Options used in relation with the final result of the parsing - the syntax tree

Without Tree Generation

Ability to generate parsers that only check for a valid input and do not generate any tree information.

Concrete Statically Typed Tree

Ability to generate concrete statically typed syntax trees. A visitor interface is also provided for custom concrete trees construction.

Abstract Dynamically Typed Tree

Ability to generate abstract dynamically typed syntax tress. A visitor interface is also provided for custom abstract trees construction.

Generated Parser: Target Langauge

Target language options for the generated parsers

C++98 (and up) for x86 and x86/64

Generate code for the C++ programming language.