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. ...
Lapg is the combined lexical analyzer and parser generator, which converts a description for a context-free LALR grammar into source file to parse the grammar. Generates code for Java, Javascript, C, C++ and C#.