The SoulNG project contains two tools: a lexical analyzer generator slg and a parser generator spg. The generators and the produced lexical analyzers and parsers use four C++ libraries that are also included in the project. The slg tool takes a .lexer file that contains the description of a lexical analyzer as input and produces C++ source code for a lexical analyzer as output. The produced lexical analyzer is a finite state machine that recognizes patterns described as regular expressions and return corresponding token identifiers to the parser. The spg
tool takes .parser files that contain descriptions of parsers as input and produces C++ source code for parser classes as output. The parser generator produces a recursive descent top-down backtracking parser that use the lexical analyzer generated by slg to tokenize the input.
Features
- Unicode-enabled