|LRX: LR(*) parser generator for C++||A.M.D.G.|
and Setup LRX DFA Release
LRX is the new name for an older product, called LRSTAR, which was available from 2010 to 2020. LRX has the new improved LR(*) lookahead algorithm and other improvements.
1. New for 2020. LRX reads YACC/Bison and ANTLR grammars. For YACC grammars, it's mostly about deleting %token stuff from the top and code from the bottom. For ANTLR grammars, it's mostly about deleting the lexical rules at the bottom. However, the ANTLR grammars have a tendency to be "ambiguous" and may have to be "unambiguated".
2. New for 2020. LRX has improved LR(*) parsing, comparable to ANTLR's LL(*) parsing, but it looks like ANTLR has the advantage, based a few tests. YACC/Bison has no LR(*) or LL(*), but it does have GLR parsing which has more memory overhead.
3. New for YACC/Bison users. LRX gives you (1) EBNF grammar notation, (2) Symbol-table builder, (3) automatic AST construction, (4) AST traversal calling your AST actions, (5) LR(*) parsing for "unlimited" lookahead, (6) separation between code and grammar.
4. New for ANTLR users. LRX gives you (1) small parser engines (1/10th size of ANTLR parsers), (2) faster parsers (100x faster than ANTLR with C++ target), (3) a report of ambiguities in your grammar (something you may not care about, however). Data is based on testing of a C language parser.
|(c) Copyright Paul B Mann 2020. All rights reserved.|