我拼命寻找一个ASN.1编译器,将成功地解析一个预定义的ASN.1定义从顾客得到了支持。ASN.1编译器用于扩展XER/RXER
迄今为止,没有任何产品(免费或商业)能够解析基于XER的定义,并且具有一些暂时的RXER依赖性 - 当我手动指定相关的ASN.1定义时(从RFC获取) ,编译器也会发出解析器错误。
相关的代码行(简化):
MYMSG ::= SEQUENCE
{
msgID [ATTRIBUTE] [250] UTF8String OPTIONAL,
msgType UTF8String
}
每个编译器抱怨关于[ATTRIBUTE]标记,所以我发现这个是在RFC 4912中定义的ASN.X说明书的一部分,也依赖于支持RFC 4910中的RXER,另请参见X.680-1。
问题是每一个编译器我试过似乎不支持这些编码模式开箱和无法解析的RFC文档,例如上述含义对于使用这种编码RXER和所有的定义,我得到:
“RXER.asn”,第20行 (AdditionalBasicDefinitions):A1139W: 的默认编码参考 'RXER' 该模块 'AdditionalBasicDefinitions' 是通过此 编码引用标识的模块内 未知和所有的编码指令 将被忽略。
RXER指令
(注:所有依赖模块等ASN.X包括指令“RXER指令”之后立即“定义” -tag,它不被任何编译器我试图理解)。
我试图openasn1(www.openasn1.org) - 有趣的是,我有我有,是由openasn1生成的代码有些老,部分Java功能映射对象! - 在http://lionet.info/asn1c/asn1c.cgi和各种类似的目标体系ASN1C v6.4.1商业工具的在线编译器在http://www.obj-sys.com/Cnge641Dwld/acv64kits.php(他们甚至有一个当前的Eclipse插件),MARBEN http://www.marben-products.com/asn.1/tce_java.html和unigone http://www.unigone.com/en/products/Asn1Compiler/description
我总是得到类似这样的错误:
ASN.1 grammar parse error near line 13 (token "ATTRIBUTE"): parse error, unexpected TOK_capitalreference, expecting TOK_number
我缺少像进口或其他定义/编译器标志明显的东西?
更新:我刚刚被Objective Systems的快速支持(谢谢!)告知“[ATTRIBUTE]标记是扩展的XER规范的一部分”,这并不是很多编译器似乎支持的。有人知道更多吗? – Gregor 2011-05-24 14:09:14