Оценка выражения Java

Я пытаюсь разработать синтаксический анализатор для анализа простых выражений логических отношений, которые включают в себя "(", ")", ">", "‹", "," в качестве токена. Примером может быть:

a < (b > c > (x, y, z))

Из приведенного выше выражения я бы вычел, что:

  1. а зависит от б
  2. b является предварительным условием c
  3. x, y и z зависят от c независимо
  4. нет никакой связи между а и с
  5. нет никакой связи между a, x, y и z

Есть ли какой-нибудь инструмент для поддержки такого анализа?

спасибо, зеленый


person Gelin Luo    schedule 05.04.2011    source источник


Ответы (2)


Думаю, самым известным инструментом для таких вещей является ANTLR.

person weekens    schedule 05.04.2011

Вы можете попробовать JavaCC. К нему немного сложно привыкнуть, но как только вы его освоите, вы сможете легко создавать такие парсеры. Вы можете начать с этого учебника. Также доступен подключаемый модуль eclipse, который упрощает его использование для создания необходимых файлов и т.д.

person aseychell    schedule 05.04.2011