Мне нужно разобрать входящие сообщения и генерировать исходящие сообщения в формате EDIFACT (в основном структурированный формат с разделителями).Могу ли я использовать ANTLR для двухстороннего разбора/генерации?
Я хотел бы иметь Java-модель, которая будет создана путем разбора сообщения. Затем я хотел бы использовать ту же модель для создания экземпляра и создания сообщения.
Первая половина в порядке, я использовал ANTLR перед тем, чтобы перейти от raw -> объектов Java. Но я никогда не делал обратного, или если у меня это было обычай.
Поддерживает ли ANTLR создание с использованием грамматики или это просто инструмент только для синтаксического анализа?
EDIT:
Expansion - Я хочу, чтобы определить две вещи идеально. Грамматика, описывающая необработанное сообщение (EDIFACT в этом случае, но притворяйтесь, что это CSV, если хотите). И объектная модель Java.
Я знаю, что могу написать грамматику ANTLR, чтобы получить из исходной -> Java-модели. например Разбор строки SQL -> Java-модель, которую я сделал раньше. Но мне тоже нужно идти в другом направлении, не меняя грамматики.
Если вы уподобляете его JAXB (миру XML), я действительно хочу JAXB для EDIFACT (а не XML).
Err, поэтому вы хотите создать переводчика (грамматику + правила), который преобразует, скажем, с английского на испанский. И с тем же переводчиком (и с той же грамматикой!) Переводите испанцев обратно на английский? –