The TextTransformer is a visual development environment for building,
debugging and executing of parsers and translators. The
TextTransformer is made both for end-users and for developers. The IDE
runs on Windows, the created code can be compiled on any system that
has an ANSI/ISO C++ Compiler.
- The development environment is organized like a database.
- Scripts are syntax highlighted.
- Semantic code can be collapsed or cleared.
- A lot of wizards, a regex test dialog and a character class
calculator are included.
- An extensive context sensitive help exists.
- Recursively descending parsers are generated.
- An arbitrary look-ahead can resolve conflicts, which are detected by
automatic grammar tests.
- Sections of text with unspecified composition can be skipped
- Tokens are defined by regular expressions (extended POSIX style with
- Productions are defined by the same syntactical elements, like
regular expressions of regular expressions.
- Dynamic placeholder tokens can "learn" additional literal
expressions while parsing the input
- Whole dictionaries with thousands of literal tokens can be assigned
to placeholder tokens.
- Parsers can be fine tuned by global and local options.
- The integrated interpreter with subset of c++ instructions can
execute parsers and translators immediately.
- Parse trees can be created. They can be made by means of wizards for
the whole project.
- By Function tables parse trees can be processed.
- Productions can be called as sub-parser.
- Each production can be tested individually and step-by-step.
- Breakpoints can be set, both in the source text and in the grammar
- In a variable-inspector values of variables and whole parse trees
can be represented.
- Productions can be tested automatically
- Individual texts can be transformed inside of the TextTransformer
- Groups of text files can be transformed by means of the integrated
Transformation-Manager or by a command line tool.
C++ CODE GENERATION (IN THE PROFESSIONAL VERSION ONLY)
- A c++ parser class is produced for a start rule.
- All interpreter code yields compiling c++ code. Additional code,
which is not meant for the interpreter, is taken as a copy from the
productions. By according bracketing it is also possible, to restrict
code parts to the interpreter.
- Multithread save reentrant parsers and translators can be created
- The TextTransformer is bootstrapping itself.
Any feedback is very welcome.