Provided by: eclipse-titan_8.1.1-1_amd64 

NAME
compiler - TTCN-3 and ASN.1 to C++ translator
SYNOPSIS
compiler [ -abcdDeEfFghiIjklLMnNpqrRsStuwxXyY0 ] [ -V verb_level ] [ -J file ] [ -K file ] [ -z file
] [ -o dir ] [ -P top_level_pdu ] ... [ -Q n ] [ -U none|type|'number' ] [ -T ] module.ttcn ... [ -A
] module.asn ... [ - module.ttcn ... module.asn ... ]
or
compiler -v
or
compiler --ttcn2json [ -jf ] [ -T ] module.ttcn ... [ -A ] module.asn ... [ - schema.json ]
DESCRIPTION
This manual page is a quick reference for the TTCN-3 and ASN.1 to C++ (or JSON schema) compiler of the
TTCN-3 Test Executor. It only summarizes the meaning of all command line options. For more details please
consult the Programmer's Technical Reference for TITAN TTCN-3 Test Executor.
OPTIONS
The following options are supported (in alphabetical order):
-A file Forces the interpretation of file as an ASN.1 module. It is useful when automatic module type
detection fails due to some strange language constructs. The option takes exactly one file name
as argument. The option must be repeated when used with multiple files. See also: option -T.
-a Force XER in ASN.1 files
-b Disables the generation of BER encoder/decoder routines for all ASN.1 types.
-B Allows the selected field in a union value to be unbound, when setting module parameters
(legacy behavior). A warning is displayed whenever a union value receives an unbound selected
field and when a union with an unbound selected field is copied.
-c Write out checksums in case of error
-d Treat ASN.1 SEQUENCE/SET fields with DEFAULT values as omit in TTCN-3.
-D Disable generation of user and time information comments in the output C++ code.
-e Enforce legacy handling of encode and variant attributes.
-E Instructs the variant attribute parser to display warnings instead of errors for
unrecognized/erroneous attributes.
-f Forces the compiler to overwrite the output files even if they exist or are unchanged.
-F Forces the compiler to generate the full C++ classes for records of/sets of basic types (i.e.
boolean, integer, float, bitstring, hexstring, octetstring, charstring and unversal
charstring). Otherwise only type aliases to pre-generated classes are generated for these
types. This also disables the type compatibility between records of/sets of basic types in the
Load Test Runtime.
-g The compiler error/warning messages will contain only the starting line number and column, in a
format compatible with th GNU compiler (gcc). -g takes precedence over -i if both are
specified.
-h Allows unsafe universal charstring to charstring conversion.
-i The compiler error/warning messages will contain only the line numbers, the column numbers will
remain hidden. This option provides backward compatibility with the error message format of
earlier versions.
-I Enables real-time testing features.
-j Disables JSON encoder/decoder functions.
-J file Read a list of input files from the provided file.
-k Enables object-oriented features.
-K file Enables selective code coverage.
-l Instructs the compiler to generate source file and line information (i.e. #line directives)
into the output C++ code so that the C++ compiler error messages refer back to the lines of
original TTCN-3 input module.
This option is obsolete and will be removed in future versions as the compiler does not
generate erroneous C++ code because of the full semantic analysis.
-L Instructs the compiler to add source file and line source file and line number information into
the generated code to be included in the log during execution.
This option is only a prerequisite for logging the source code information. Options
SourceInfoFormat and LogEntityName have also to be set appropriately in section [LOGGING] of
the run-time configuration file.
Usage of this option a bit enlarges the size of the generated code and slightly reduces
execution speed. This flag is not recommended when the TTCN-3 test suite is used for load
generation.
-M Allows the use of the value omit in template lists and complemented template lists (legacy
behavior). If set, an omitted field will match a template list, if the value omit appears in
the list, and it will match a complemented template list, if omit is not in the list (the
ifpresent attribute can still be used for matching omitted fields). This also affects the
ispresent operation and the present template restriction accordingly.
-n Activates the debugger and generates extra code for storing debug information.
-N Ignore UNTAGGED encoding instruction on top level unions (legacy behaviour).
-o dir The output files (including Test Port skeletons) will be placed into the directory specified by
dir. The current working directory is the default otherwise.
-p Instructs the compiler only to parse the given TTCN-3 and ASN.1 modules. This will detect only
the syntax errors because semantic checkings are not performed. The presence of all imported
modules is not necessary thus it is allowed (and recommended) to parse the modules one-by-one.
All options that influence the code generation are silently ignored when used together with -p.
Note: This option includes complete syntax checks for TTCN-3 modules, but in ASN.1 there are
some special constructs (e.g. the user-defined syntaxes) that cannot be even parsed without
semantic analysis. So there is no guarantee that an ASN.1 module is free of syntax errors if it
was analyzed with compiler using the -p flag.
-P top_level_pdu...
Defines a top-level pdu. top_level_pdu must have the following format: modulename.identifier.
If this switch is used, then only the defined top-level PDU(s) and the referenced assignments
are checked and included in code generation, the other ASN.1 assignments are skipped.
-q Quiet mode. Equivalent with -V 0.
-Qn Quits after n errors.
-r Disables the generation of RAW encoder/decoder routines for all TTCN-3 types.
-R Use function test runtime (TITAN_RUNTIME_2). The compiler will generate source code for use
with function test runtime.
-s Instructs the compiler to parse the given TTCN-3 and ASN.1 modules and perform semantic
analysis on them, but not to generate C++ output. The list of given modules shall be complete
so it is not allowed to import from a module that is not in the list. All options that
influence the code generation are silently ignored when used together with -s.
-S Suppresses context information.
-t Generates Test Port and External Class skeleton header and source files for all port types and
external class types that can be found in the input TTCN-3 modules. Existing Test Port and
External Class files will not be overwritten unless the -f option is used.
-T file Forces the interpretation of file as a TTCN-3 module. See also: option -A.
-u Forces the compiler to do duplicate underscore characters in all output file names. This option
turns on the compatibility mode with versions 1.1 or earlier.
-U none|type|'number'
Selects code splitting mode for the generated C++ code. The 'number' should be a positive
number between 1 and 999999. If the 'number' is present the files will be sliced into 'number'
files.
-v Prints version and license key information and exits.
-V verb_level
Sets the verbosity bit-mask directly to verb_level (where verb_level is a decimal value between
0 and 65535).
Meaning of bits:
1: "NOT SUPPORTED" messages.
2: WARNING messages.
4: NOTIFY messages.
32|16|8: DEBUG messages.
The debug-bits act like a 3-bits-length number, so the debug level has a value
between 0 and 7. It is useful in case of abnormal program termination.
-w Suppresses all warning messages. Equivalent with -V 4.
-x Disables the generation of TEXT encoder/decoder routines for all TTCN-3 types.
-X Disable XER encoder/decoder functions
-y Disable subtype checking
-Y Enforces legacy behaviour of the "out" function parameters (see refguide).
-z file Enables profiling and code coverage in the selected TTCN-3 files. The file argument contains a
list of TTCN-3 files separated by new lines. Each TTCN-3 file must be among the compiler's
TTCN-3 file arguments.
-0 Disables attribute checks for encvalue and decvalue. Must be used together with option -s.
- The single dash character as command line argument controls the selective code generation
option. After the list of all TTCN-3 and ASN.1 modules a subset of these files can be given
separated by a dash. This option instructs the compiler to parse all modules, perform the
semantic analysis on the entire module hierarchy, but generate code only for those modules that
are listed after the dash again.
It is not allowed to specify a file name after the dash that was not present in the list before
the dash. If the single dash is not present in the command line the compiler will generate code
for all modules.
--ttcn2json
Generates a JSON schema from the types defined in the specified TTCN-3 and ASN.1 modules. Must
always be the first compiler option. From the previously listed options only -T and -A can be
used, instead the JSON schema generator has options of its own:
-j Only types that have JSON coding enabled are included in the schema.
-f The schema only validates types that have a JSON encoding or decoding method declared.
- file The single dash character as command line argument specifies the name of the generated JSON
schema file. If it is not present, then the schema file name is generated from the name of the
first input file (by replacing its suffix with .json or appending .json to the end of the
file).
EXIT STATUS
The compiler exits with a status of zero when no errors were encountered during its operation. A status
of one will be returned if syntax or semantic errors were detected in the input modules.
ENVIRONMENT VARIABLES
TTCN3_DIR
The installation directory where the uncompressed binary package of TTCN-3 Test Executor can be
found.
TTCN3_LICENSE_FILE
It shall point to the file (NB: not to its directory) that contains the personalized license key
for the current user or host.
BUGS
The compiler does not support all constructs of TTCN-3 Core Language and ASN.1. It reports an error when
encountering an unsupported language element. The detailed list of deficiencies and language extensions
can be found in the referenced documentation.
For trouble reporting use the tool MHWEB. For TR writers guide please visit the web page:
http://ttcn.ericsson.se.
SEE ALSO
Ericsson document 2/198 17-CRL 113 200 Uen:
Programmer's Technical Reference for TITAN TTCN-3 Test Executor
ETSI Standard ES 201-873-1:
Testing and Test Control Notation: TTCN-3 Core Language
ITU-T Recommendations X.680-683:
Abstract Syntax Notation One (ASN.1)
AUTHOR
This manpage is written by Janos Zoltan Szabo, Ericsson Telecom AB
Copyright (c) 2000-2021 Ericsson Telecom AB
All rights reserved. This program and the accompanying materials are made available under the terms of
the Eclipse Public License v2.0 which accompanies this distribution, and is available at
https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
Ericsson Telecom AB January 2021 compiler(1)