Can the OSS ASN.1 compiler parse any macro?

The OSS ASN.1 Compiler can parse any macro instance (i.e., macro usage) provided that the macro definition precedes it. If the macro definition does not precede the macro instance then the parse is successful only if the ASN.1 is syntactically valid in the absence of the macro notation. For example, if you have:

MyModule DEFINITIONS ::= BEGIN
     foo OPERATION ::= globalValue : {1 2 3 4 5}
     bar OPERATION ::= localValue : 3
     Foo ::= OPERATION
      
   OPERATION MACRO ::= BEGIN
   .............
   END 
END

The OSS ASN.1 compiler will successfully parse the macro instances for foo, bar and Foo although the OPERATION macro definition does not precede them. However, if you have:

YourModule DEFINITIONS ::= BEGIN
      
   fooBar OPERATION
       ARGUMENT INTEGER
       RESULT BOOLEAN
       ::= globalValue: {1 2 3 4 5}
      
   OPERATION MACRO ::= BEGIN
   .............
   END
      
   END

the OSS ASN.1 compiler will not be able to parse the macro instance fooBar because it is syntactically invalid ASN.1 in the absence of the macro notation and OPERATION is defined after fooBar. In such cases OPERATION must be defined before fooBar.

In all cases the OSS ASN.1 Compiler requires that the macro be defined, whether before or after the macro instance.


The samples included with some of the Knowledge Center answers are meant for your general understanding of the OSS products. Different versions of the products might produce slightly different outputs. Consult the products documentation and samples for the most up-to-date products information and code examples.



Contact Support
contact Our office hours
24 hours/day, 7 days/week

  • Phone: 1-888-OSS-2761 (USA and Canada)
  • Phone: 1-732-302-9669 (International)
  • Fax: 1-732-302-0023
  • Email: support@oss.com
Free Trial
download

Test drive the OSS Nokalva ASN.1, LTE, and XML Tools now! Your trial includes complete software, documentation, sample programs, free 24x7 technical support and more.




Learn ASN.1
Learn ASN.1

Our expert personnel can help you learn ASN.1!

We offer 4-day ASN.1 courses at our headquarters or your premises.