我需要解析传入消息并以 EDIFACT 格式(基本上是结构化分隔格式)生成传出消息。
我想要一个通过解析消息生成的 Java 模型。然后我想使用相同的模型来创建一个实例并生成一条消息。
前半部分很好,我之前使用过 ANTLR 来从原始 -> Java 对象开始。但我从来没有做过相反的事情,或者如果我有它是习惯的。
ANTLR 支持使用语法生成还是真的只是一个仅解析工具?
编辑:
扩展 - 我想理想地定义两件事。描述原始消息的语法(在这种情况下为 EDIFACT,但如果您愿意,可以假装它是 CSV)。和一个 Java 对象模型。
我知道我可以编写一个 ANTLR 语法来从 raw -> Java 模型中获取。例如,解析一个 SQL 字符串 -> 我之前做过的 Java 模型。但在不改变语法的情况下,我也需要另辟蹊径。
如果您将它比作 JAXB(XML 世界),我真的希望 JAXB 用于 EDIFACT(而不是 XML)。