我正在尝试确定 ASN.1 模块中类型分配的顺序是否有任何意义。ASN.1 是否类似于一次性编译器,其中尚未见过的类型是无效的?
例如,采用以下 ASN.1 模块:
MySchema DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IntType ::= INTEGER
OtherType ::= IntType
END
这里我们定义IntType
为是一个INTEGER
,然后OtherType
是IntType
。
如果相反,我们颠倒顺序,并说:
MySchema DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
OtherType ::= IntType
IntType ::= INTEGER
END
在这里,当 ASN.1 编译器第一次遇到IntType
时,它还没有看到类型定义。这是否使它成为非法语法?