我一直在使用lex/yacc,现在我正在尝试切换到ANTLR。主要的担忧是ANTLR是LL(*)解析器,而yacc则是LALR解析器。我习惯了自下而上地思考问题,不确定LL文法的优势在哪里。人们说LL文法更容易理解,而且现在更受欢迎。但似乎LR解析器更强大,例如LL解析器无法处理左递归,虽然似乎有一些解决方法。
所以问题是LL文法相对于LALR文法的优势是什么?如果有人能给我一些例子就好了。有用的文章链接也很棒。
感谢您的帮助!(我看到这是一个很好的资源:What advantages do LL parsers have over LR parsers?,但带有一些例子会更好。)
所以问题是LL文法相对于LALR文法的优势是什么?如果有人能给我一些例子就好了。有用的文章链接也很棒。
感谢您的帮助!(我看到这是一个很好的资源:What advantages do LL parsers have over LR parsers?,但带有一些例子会更好。)