我需要一个Java中的增强Backus-Naur形式解析器(RFC5234)来验证一些语言。
为了避免重复发明轮子,我倾向于使用ABNF解析器的现有开源实现(如果已经存在)。
我需要开源,因为它允许我根据需要维护代码。
有没有人知道有什么存在的?
发布于 2013-01-03 21:19:22
我注意到Parse2 (参见Ralph answer )有一些局限性:
;结尾这些观察结果已经被Parse2的开发者所证实。所以简而言之: Parse2可以解析ABNF文法的一个子集,但是如果您找到一个现有的ABNF文法并试图将其提供给软件,它很可能会出现问题。
如果您自己指定了ABNF语法,并牢记这些限制,那么这个库应该可以为您工作。如果您必须使用现有的ABNF语法,那么在代码生成之前,您可能需要在语法上投入更多的精力。
PS:尽管编译后的二进制文件( Parse2字节码)可以免费获得,但java库源代码目前不可用。
发布于 2011-07-27 00:32:05
Parse2从ABNF生成用于解析器的源java。
https://stackoverflow.com/questions/5302492
复制相似问题