ANTLR 4是否允许我为布尔表达式创建解析器?

时间:2013-10-15 19:37:03

标签: java antlr

我有一个程序,用户希望能够使用格式

过滤掉某些字符串标准
  

(someType!='a'和someType!='b')或(anotherType ='abc'AND   somethingElse ='cns')

我们正在研究使用ANTLR 4来解析这个问题。每个组将始终用OR分隔,每个内部组将始终用AND分隔。

我是初级开发人员,如果这是我们想要进入的路线,我将通过阅读本书来学习ANTLR4。我只是想确保ANTLR4能够解决这个问题。

我们基本上想知道表达式是否会根据此语法计算为true或false。

1 个答案:

答案 0 :(得分:3)

Antlr不评估表达式。它会解析它们。

解析结果的“评估”取决于您。通常,您将节点构建操作附加到语法规则;有了它,ANTLR将帮助您构建一棵树,然后您走到树上进行评估。

如果你真的很狡猾,你可以在语义行为中进行表达评估。向上传递值有点像传递创建的节点。传递值 down 需要付出更多努力,而我不是用ANTLR描述如何做到这一点的人。