2013-09-26 43 views
1

在ASN.1中,可以聲明等的值參考:ASN.1值符號和類型引用

<identifier> <Type Reference> ::= <Value Notation> 

例如:

cost INTEGER ::= 123 

類型引用部件既可以內置-in類型或用戶定義的類型。我的問題是,當提到用戶定義的類型時,ASN.1是否要求該類型必須已經被定義? (假設它稍後才定義)。例如,將下面是有效的ASN.1語法:

cost MyIntType ::= 50 
MyIntType ::= INTEGER (0..100) 

注意MyIntType在賦值它在類型分配聲明之前引用。

這有效嗎?

回答

2

這是完全有效的。使用前沒有必要定義定義。

注意,有時你不能避免這種情況,例如,如果有類型之間循環依賴:

A ::= some definition involving B 
B ::= some definition involving A