Мне нужно оценить логическое выражение.Цель состоит в том, чтобы отфильтровать набор тегов .Тэг может быть любым именем (скажем, как идентификатор Java).
Например:
foo OR (bar AND !baz)
Это будет верно для тегов:
Я не знаю заранее, какие имена понадобятся.Я проверил JEXL, но у него есть JexlContext , который по сути является картой, которую необходимо заполнить до оценки.
Мне нужна библиотека, которая вызывает функцию обратного вызова, чтобы определить, является ли идентификаторэто правда или ложь.Или любой другой механизм, позволяющий идентификаторы, неизвестные до оценки.
Он должен быть бесплатным, как в пиве (это для плагина Maven), так что о Jep не может быть и речи.
Что я могуиспользовать?