ASN.1
XML
TELEPHONY
FREE WEB TOOLS
SERVICES
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)
