= Overview

The Standalone ASN.1 Encoder is a subset of the TITAN TTCN-3 Test Executor. It only has the ability to compile ASN.1 modules, and it provides a {cpp} interface for encoding and decoding ASN.1 values. It cannot be executed on its own. It is expected to be integrated into an existing {cpp} project.

The TTCN-3 Test Executor is an implementation of the TTCN–3 Core Language standard with support of ASN.1. There are limitations to supported ASN.1 language constructs in the TTCN-3 Test Executor which also apply to the Standalone ASN.1 Encoder. Information on these limitations and some clarifications on how the ASN.1 standard has been implemented in TITAN can be found in the 
<<_1, TITAN programmer's technical reference guide>>.

== Components

The main components of the Standalone ASN.1 Encoder are the following:

* The *Compiler*, which translates ASN.1 modules into {cpp} program code.

* The *Base Library*, written in {cpp}, which contains important supplementary functions for the generated code, but does not contain a `main` function.

The generated {cpp} modules should be compiled to binary object code and linked together with the Base Library (and with the rest of the user's project) using a traditional {cpp} compiler.
