解析表达式时的钩子

时间:2013-12-13 09:48:12

标签: java expression mvel jexl

我需要解析和评估用户定义的表达式。

表达式的形式为“foo> 50&& bar< 60&&!(moo> 50))”

在解析期间,需要监视foo的值> 50,bar< 60和!(moo> 50)并在满足条件时生成事件。事件评估程序将调用表达式评估。

我查看了MVEL和JEXL,但无法确定如何在解析阶段获取挂钩。

除了使用javacc或lex / yacc引导语法,还有其他任何选项吗?

我是编译器/解析器世界的新手(除了20年前毕业学校的课程),请告知我是否完全偏离此处。

感谢, -kvh

1 个答案:

答案 0 :(得分:0)

您可以使用JFLEX(http://jflex.de/)和/或ANTLR(http://www.antlr.org/)。

AFAIK ANTLR比JFLEX更新,更强大。