0

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

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

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

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

除了使用 javacc 或 lex/yacc 引导语法之外,还有其他选择吗?

我是编译器/解析器世界的新手(除了 20 年前研究生院的课程),如果我在这里完全偏离轨道,请告知。

谢谢,-kvh

4

1 回答 1

0

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

AFAIK ANTLR 比 JFLEX 新且强大。

于 2013-12-13T09:56:14.637 回答