EDIFACT语法,解析器和库(Java)

时间:2012-02-09 05:04:03

标签: java antlr parser-generator xtext edifact

  1. 我想知道我们是否可以在ANTLR / xText中定义EDIFACT语法然后生成解析器。

  2. 如果是这样,这些语法是否已经定义,我们可以利用(最好是开源)?

  3. 是否有任何开源库可以读取和写入除Smooks之外的EDIFACT?

2 个答案:

答案 0 :(得分:3)

从一本关于这个主题的方便书籍......(http://books.google.co.uk/books?id=rDbRS6vEG0MC&pg=PA222&lpg=PA222&dq=EDIFACT+bnf&source=bl&ots=pfFYf4nsVv&sig=JXY5HPo7Ka02ji35fjW8R8wFBX8&hl=en&sa=X&ei=05ozT6K5NMO80QWa-ZSLAg&ved=0CGEQ6AEwCA#v=onepage&q=EDIFACT%20bnf&f=false)我们有以下部分......

Screenshot from google books,这似乎表明这不是一个好主意 - 虽然取决于你的要求,你当然可以写一个,我个人会发现Antlr是一个更容易使用的工具(我现在正在写一个实验室对于Xtext而言,它是一种不那么宽容的学习曲线),但你的语言可能会有所不同......

答案 1 :(得分:1)

当我开发机器人开源edi翻译器(http://bots.sourceforge.net)时,我尝试了这种方法(使用ANTLR)。 这看起来很好,但我没有成功。 我的结论是,ANTLR的“解析”与“解析”edi文件非常不同;单词/概念听起来相同,但这些都是不同的世界。 如果您正在寻找'grammars'(即:edifact和x12消息的描述),可以在sourceforge页面的下载中找到它们。