This is the C/yacc/lex source code for Snacc, a freeware ASN.1-to-C or C++ compiler with a BER encoding and decoding library.
Snacc is short for Sample Neufeld Asn.1 to C
Compiler and ASN.1 stands for Abstract Syntax Notation One (CCITT X.208/ ISO 8824 as of 1990).
Snacc produces reasonably efficient C or C++ routines, and data structures to support BER encoding and decoding values of the given ASN.1 data structures. Printing routines for the decoded values are also generated. For C only, hierarchical freeing routines are generated, but they are not recommended for efficiency reasons. The snacc compiler and the generated code will compile under ANSI and non-ANSI-C compilers. See the README and the makefile in the snacc/src directory for more compiling information. Snacc has been successfully installed on Sun SPARCs, HP700s, IBM RS 6000s, MIPS, i486/Linux, Alpha OSF/1 and many other machines.