Left recursion似乎是个大问题。我正在寻找支持它的基于PEG的解析器生成器 - 无论用哪种语言。
答案 0 :(得分:2)
这里有一篇关于这个主题的论文:http://tratt.net/laurie/research/publications/papers/tratt__direct_left_recursive_parsing_expression_grammars.pdf
作者描述了在PEG / Packrat解析中处理左递归规则的多种方法。
答案 1 :(得分:0)
我的解析器生成器AustenX(scratchy.nz/austen.php)支持左递归(包括间接),其中选项顺序很重要(尽管我从来没有写过如何工作)。这是Packrat解析器的核心,但记忆可以被删除,它没有任何区别。