G'day,

Olivier Dubuisson wrote:
This is illegal, for TYPE-IDENTIFIER and ABSTRACT-SYNTAX are reserved words (see X.680, 11.27).

Just after I posted, I went back to the standards, and realized that this was the case. Thanks for the correction.


I was mistaking my implementation (in which TYPE-IDENTIFIER and ABSTRACT-SYNTAX are defined in a module that is loaded at runtime, and are equivalent to pervasive types), rather than checking if they are keywords.

Out of curiosity, why were TYPE-IDENTIFIER and ABSTRACT-SYNTAX chosen to be reserved words, rather than just references to pre-existing types?

There's nothing in the definition of TYPE-IDENTIFIER or ABSTRACT-SYNTAX that suggests that they are any different to any other object class definition. They are just useful definitions, and should be available without needing to explicitly import them from a module.

Using keywords is valid for types that cannot be expressed legally in ASN.1, such as INSTANCE OF, which is kind of a macro, and EXTERNAL, CHARACTER STRING, and EMBEDDED PDV, which require a universal tag.

But why the need to extend the language by adding keywords for TYPE-IDENTIFIER and ABSTACT-SYNTAX? The definitions of the ASN.1 character module are available without the need for explicit import. Why weren't TYPE-IDENTIFIER and ABSTRACT-SYNTAX handled the same way?

Cheers,
Geoff









Reply via email to