我拼命尋找一個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