我对ANTLR4有点新意。 我有完整的ANTLR4语法来解析COBOL源文件,但我对我的问题有点困惑: -
我应该使用其他任何工具吗?
我想要了解ANTLR提取事物的最佳方法,是否有任何其他开源工具,如ANTLR,可以有效地实现此目的。
您的建议和指导非常受欢迎。
答案 0 :(得分:1)
Antlr非常快,没有任何性能调整 - 它会在适当的地方使用SLL,并在必要时自动回退到LL。在深度递归分析中通常会遇到回退 - 在解析像COBOL这样的简单过程语言时不会出现这种情况。
通常编写语言语法以反映目标语言规范。在那种情况下,那么不,将不需要进一步更改语法。如果将语法写入规范的一个子集,您可能会发现自己逐渐更改语法,直到它与完整规范匹配为止 - 除非您完全确定正确的子集'
所以这不是一个选择。
Antlr直接通过词法分析器模式支持岛语法。这对于大多数目的来说已经足够了。如果不是你的,那么你需要更充分地解释这个需求。
有很多工具可以做Antlr所做的事情。哪个是最好的'取决于您的全部要求。在您的问题中确定的范围内,Antlr与解析COBOL一样好。