/ / гачки під час розбору виразу - java, вираз, mvel, jexl

гачки під час розбору виразу - java, expression, mvel, jexl

У мене є вимога проаналізувати та оцінити вирази, визначені користувачем.

Вирази мають форму "foo> 50 && bar <60 &&! (Moo> 50))"

Під час розбору необхідно відстежувати значення для foo> 50, bar <60 і! (Moo> 50) та генерувати події, коли умови виконуються. Оцінювач події викличе оцінку виразів.

Я переглянув MVEL та JEXL, але не зміг визначити, як отримати гачки під час розбору.

Окрім завантаження граматики з javacc або lex / yacc, будь-які інші варіанти?

Я новачок у світі компілятора / парсера (крім класу в школі міста 20 років тому), будь ласка, порадьте, чи я тут зовсім не в дорозі.

Дякую, -квх

Відповіді:

0 для відповіді № 1

Ви можете використовувати JFLEX (http://jflex.de/) та / або ANTLR (http://www.antlr.org/) для цього.

AFAIK ANTLR є новим та потужнішим за JFLEX.