ASN.1语法中的类型分配顺序

时间:2013-09-12 18:23:12

标签: asn.1

我试图确定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时,它还没有看到类型定义。这会使它成为非法语法吗?

1 个答案:

答案 0 :(得分:2)

允许分配以任何顺序出现。对于所有类型的分配(类型分配,值分配,对象分配等)都是如此。只要有中断递归的方法,也允许递归定义。