我一辈子都搞不懂为什么选择是递归的。它真的给我的解析器带来了麻烦。
Alternative :: [empty] Alternative Term
在规范的语义部分有一个不太清楚的注释。也许等我明白这一点,原因就暴露了?
同时匹配连续 输入字符串的一部分。如果 左选项,右项,和 续集在继续之前已经试过了 下一个选择, 在进行下一步之前尝试过 在左边的选择。
什么样的解析器可以正确处理左递归语法?
因为对于某些类型的解析器,左递归要好得多(例如,对于yacc,请参见第6.2节) here 解释)。