Home > Products > ASN1C News

ASN1C ASN.1 Compiler News

The current major version of ASN1C is 6.2. The following features have been added recently:

General

XML Schema (XSD) Compilation
The capability to generate code for XSD files has been added in addition to ASN.1 files. This is accomplished by doing an internal transformation of XSD-to-ASN.1 as specified in the X.694 standard. The resulting types and encoders/decoders make it possible to encode data in W3C-compliant XML form as well as the fast, efficient binary forms as specified in ASN.1 encoding rules standards (BER, DER, CER, or PER).
New Cross-Platform GUI
A new GUI Wizard has been added in this release that works on Linux and some UNIX platforms in addition to Windows. The layout of the GUI has been changed in an attempt to group related options in a logical way. Source code for the GUI is included in the package to allow customization to a particular style if desired.

C/C++

Improved XML Decode Performance
The generated C/C++ XML code has been changed to use a custom-built pull parser for C/C++ decoding of XML files. This is commonly known in other XML libraries as a reader interface. This replaces the generation of SAX handling code which proved to be awkward in preserving state between operations. The newly generated code is much more efficient and performs much better than the SAX code of past releases.
Redesign of C++ Stream Classes
C++ stream classes for BER/DER/CER and XER were redesigned to use common stream classes internally instead of inherting from them. This provided a cleaner interface for working with the streams and separated the encode/decode functionality for the individual encoding rules from the stream transport mechanics.
Support for newer Visual Studio versions
Runtime libraries for Visual Studio 2005 and 2008 (C, C++) are now included by default in Windows packages. In addition, the directory structure has changed to more explicitly indicate which version of Visual Studio is supported: c and cpp remain compatible with version 6.0; *_vs2003 replace the *_mscv71 directories; *_vs2005 replace the *_mscv8 directories.
Generation of Visual Studio Project Files
The generate VC project option (-vcproj) has been added to allow generation of Visual Studio project files. These allow a user who is familair with Visual Studio to get up and running quickly by generating both the code and project files necessary to build the project from a given set of XSD or ASN.1 schemas.
Support for Symbian OS
A special compiler switch (-symbian) and run-time compilation options have been added that allows ASN1C generated code to work with the Symbian OS. This capability is present in the embedded developers package.

Java

Eclipse Editor Plug-in
An ASN.1 editor plug-in is now available for use with ASN1C. This plug-in allows ASN.1 source files to be created and edited. ASN1C projects can be created to select compilation options and to invoke the compiler to compile the source files. Any errors that occur during compilation are shown in an error syntax window.
Upgrade of Java Code Generation to be Java 5 Compliant
Java code generation and run-time libraries have been upgraded to use Java 5 or higher by default. This includes adding generics in all places in which untyped lists and other containers were used in the past.
Generation of Ant build.xml files for Java
The capability has been added to generate Ant build.xml files for building generated Java projects including a reader and a writer. This makes it possible to easily import the project into popular Java IDE's such as Eclipse or Netbeans.
XML Schema (XSD) Compilation
It is now possible to directly generate Java or C# classes directly from an XML Schema (XSD) file. These classes allow encoding /decoding of XML instances as well as binary messages (BER, DER, CER, or PER)