Интеграция анализатора Antlr в Symfony2

В рамках профессионального проекта мне нужен небольшой парсер для интерпретации входных данных булевого типа. Я смог использовать Antlr для создания работающего парсера, и мне было интересно, есть ли у кого-нибудь здесь опыт и / или советы по интеграции этого парсера с необходимыми библиотеками Antlr в мое приложение Symfony2.

У меня есть класс, определяющий отдельные условия (например, «атрибут больше аргумента»), и мне нужен был способ объединить эти различные условия для создания фильтров данных в моем приложении. Наилучшим способом, который я нашел, было создание другого «контейнера» класса, ссылающегося на эти условия и имеющего информацию, необходимую для их объединения для создания нужного мне фильтра (в основном комбинация условий DQL). Моя проблема связана с запросом клиента о возможности сохранения и изменения этих фильтров, а это означает, что мне нужен простой способ сохранить их в базе данных и воссоздать весь фильтр.
Имея эти объекты условий, я решил использовать язык, специфичный для предметной области, который я могу использовать для сохранения запросов в контейнере (мне не нравится непосредственное сохранение запросов, поскольку их потом сложно изменить IMO). Я могу сохранить свои фильтры в классе контейнера в форме «((НЕ условие1 И условие2) ИЛИ (условие1 И НЕ условие2)) И НЕ условие3 ИЛИ условие4.

Я сгенерировал связанный парсер, но теперь мне нужно интегрировать его в мой проект Symfony, то есть мне нужно интегрировать библиотеку Antlr, и я не знаю, как действовать дальше. Я думал, что могу попытаться отформатировать библиотеку Antlr как Symfony Bundle, но мне интересно, какие еще могут быть пути, и сравнительные трудности.
У кого-нибудь есть альтернативные подходы, а также связанные плюсы и минусы?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]