2013-12-13 27 views
0

我有解析和評估用戶定義的表達式的需求。在表達式解析期間掛鉤

表達的形式爲 「富> 50 & &巴 &!(も> 50))」

在解析,有必要監視FOO> 50,棒<值60和!(moo> 50),並在條件滿足時生成事件。事件評估者將調用表達式評估。

我看着MVEL和JEXL,但無法確定如何在解析階段獲取鉤子。

除了使用javacc或lex/yacc引導語法之外,還有其他選項嗎?

我是編譯器/解析器世界的新手(除了20年前的畢業生班),請告訴我是否完全偏離了這裏。

感謝, -kvh

回答

0

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

AFAIK ANTLR比JFLEX更新且更強大。

+0

ANTLR涉及到像javacc一樣的文法引導,對嗎?我想我問的是有沒有任何可以在解析器中調用的MVEL,JEXEL等工具的選項?謝謝。 – kvhdude

+0

我不知道MVEL,JEXEL.You可以嘗試一些關於JFLEX和ANTLR的例子 –