Objective Systems is pleased to announce the release of version 7.5 of our flagship product ASN1C.
ASN1C is a code generation tool targeted at developers who produce products based on Abstract Syntax Notation One (ASN.1) and XML standards. It is capable of generating code in five different programming languages: C, C++, Java, C#, and Python (partial support). The new version adds a sixth language to the list - Go.
The following is a summary of all of the new features:
- Support for Go Code Generation
- The primary new capability added in this release is the capability to generate code for the Go language (see golang.org). Support for the aligned and unaligned variants of the packed encoding rules (PER/UPER) have been implemented. Support for other encoding rules may be added in the future.
- Support for ASN.1 Value Notation (AVN) in C/C++
- Support has been added via the new -avn command-line option for generating encoders and decoders that support ASN.1 Value Notation in C/C++. This works in a similar fashion to code that supports other textual formats such as XML/XER and JSON/JER.
- Support for Aligned PER Code Generation in C/C++
- Support has been added via the new -aper command-line option for generating encoders and decoders that support only aligned PER in C/C++. Previously, the -per option allowed this, but allowed for switching between aligned or unaligned at run-time. The new option provides for improved performance by doing a number of calculations at compile time that were previously being done at run-time.
- Support for New Platform Types
- ASN1C SDK's are now available for the 64-bit ARM platform type (AArch64) and Apple M1. These SDK's contain the command-line compiler only and not the GUI.
- Support for the Generation of JSON test files for Go
- Support has been added via the new -test-json option for generating random test data in JSON files. The JSON corresponds to the structures generated for the Go language and can be directly unmarshaled into these structures for testing.
- Addition of BIT STRING Display Format Option
- A format option has been added (bits) for printing BIT STRING's as binary data (1's and 0's). The default format for printing BIT STRING's is hex bytes with a binary last byte showing the unused bits in that byte.
- Support for IMPORTS ... WITH
- X.680-2015 Amendment 1 updated the IMPORTS clause to allow importing definitions from new versions of a given module. IMPORTS statements can now specify "WITH SUCCESSORS" or "WITH DESCENDANTS" to allow modules with related OIDs to satisfy the import. ASN1C 7.5 supports this new syntax.
For more information on the new release see:
A free evaluation version of the software can be downloaded from:
The release is available as free upgrade to users with active support.