2016-08-18 4 views
0

Während ASN.1-Quellcode vervollständigen gibt Fehler: "ASN.1-Grammatik analysiert Fehler in der Nähe von Zeile 19 (Token" IDENTIFIED "): Syntaxfehler, unerwartete TOK_Capitalreferenz, erwartet '}' Kann nicht "test.asn"“ASN-Quelltext unerwartet TOK_CapitalReference, erwartet '}'


RSI DEFINITIONS AUTOMATIC TAGS ::= BEGIN 

MessageFrame ::= SEQUENCE { 
    messageId  MESSAGE-ID-AND-TYPE.&id({MessageTypes}), 
    value   MESSAGE-ID-AND-TYPE.&Type({MessageTypes}{@.messageId}) 
} 

MESSAGE-ID-AND-TYPE ::= CLASS { 
    &id   RSImsgID UNIQUE, 
    &Type 
} WITH SYNTAX { &Type IDENTIFIED BY &id } 

MessageTypes MESSAGE-ID-AND-TYPE ::= { 
    { Message1  IDENTIFIED BY message1 } | 
    { Message2 IDENTIFIED BY message2 } 
} 

Message1 ::= SEQUENCE { 
    msgCnt   MsgCount, 
    id   TemporaryID 
} 

Message2 ::= SEQUENCE { 
    msgCnt   MsgCount, 
    id   TemporaryID 
} 

TemporaryID ::= OCTET STRING (SIZE(4)) 
MsgCount ::= INTEGER (0..127) 
RSImsgID ::= INTEGER (0..32767) 
message1 RSImsgID ::= 0 --'00'H 
message2 RSImsgID ::= 1 --'01'H 
END 

Der Compiler Syntaxfehler angezeigt analysieren. Bitte helfen Sie mir, was ich darin vermisse.

Antwort

1

Das Schema wird korrekt kompiliert mit http://asn1-playground.oss.com/. Höchstwahrscheinlich implementiert der Compiler, den Sie verwenden, das Feature WITH SYNTAX nicht ordnungsgemäß. Sie können versuchen, das Schema zu ändern, so dass Sie nicht WITH SYNTAX verwenden und Ihren Objektsatz Initialisierung schreiben die Standard-Syntax verwendet, das heißt:

MESSAGE-ID-AND-TYPE ::= CLASS { 
    &id   RSImsgID UNIQUE, 
    &Type 
} 

MessageTypes MESSAGE-ID-AND-TYPE ::= { 
    { &Type Message1, &id message1 } | 
    { &Type Message2, &id message2 } 
} 
+0

Die 'WYTH SYNTAX' Funktion wird zum Beispiel von den kommerziellen OSS ASN.1 Tools (www.oss.com) unterstützt. Ich verstehe deine zweite Frage nicht. –

+0

Ich habe kostenlose Version OSS ASN.1 Tool, aber wie kompiliert ASN-Datei und wie dieses Tool zu installieren? Ich kenne diesen Prozess nicht. –

+0

Wenn Sie Windows verwenden, sollte das heruntergeladene Paket ein Standard-Installationsprogramm sein, das wie für jede andere Software funktioniert. Danach können Sie die mitgelieferte ASN.1 Studio IDE verwenden, die Ihnen hilft, das Schema zu bearbeiten und zu kompilieren. –

Verwandte Themen