1 .TH compiler 1 "October 2014" "Ericsson Telecom AB" "TTCN-3 Tools"
3 compiler \- TTCN-3 and ASN.1 to C++ translator
6 .RB "[\| " \-abcdfgijlLpqrRsStuwxXyY " \|]"
8 .IR " verb_level" " \|]"
14 .IR " top_level_pdu" " \|] ..."
18 .IR "none|type" " \|] "
23 [\| \- module.ttcn ... module.asn ... \|]
32 .B compiler \-\-ttcn2json
33 .RB "[\| " \-jf " \|]"
42 This manual page is a quick reference for the TTCN-3 and ASN.1 to C++ (or JSON schema)
43 compiler of the TTCN-3 Test Executor. It only summarizes the meaning of
44 all command line options. For more details please consult the
45 .B Programmer's Technical Reference for TITAN TTCN-3 Test Executor.
47 The following options are supported (in alphabetical order):
50 Forces the interpretation of
54 It is useful when automatic module type detection fails
55 due to some strange language constructs. The option takes exactly one file
56 name as argument. The option must be repeated when used with multiple files.
66 Disables the generation of
68 encoder/decoder routines for all ASN.1 types.
78 fields with DEFAULT values as
83 Forces the compiler to
85 the output files even if they exist or are unchanged.
88 The compiler error/warning messages will contain only the starting
89 line number and column, in a format compatible with th GNU compiler (gcc).
93 if both are specified.
96 The compiler error/warning messages
99 the column numbers will remain hidden. This option provides backward
100 compatibility with the error message format of earlier versions.
103 Disables JSON encoder/decoder functions.
106 Enables selective code coverage.
109 Instructs the compiler to generate source file and line information (i.e.
111 directives) into the output C++ code so that the C++ compiler error
112 messages refer back to the lines of original TTCN-3 input module.
116 and will be removed in future versions as the
117 compiler does not generate erroneous C++ code because of the full
121 Instructs the compiler to add source file and line
125 information into the generated code to be included in the
129 This option is only a prerequisite for logging the source code information.
134 have also to be set appropriately in section
136 of the run-time configuration file.
138 Usage of this option a bit enlarges the size of the generated code and slightly
139 reduces execution speed. This flag is not recommended when the TTCN-3 test
140 suite is used for load generation.
143 The output files (including Test Port skeletons) will be placed into
144 the directory specified by
146 The current working directory is the default otherwise.
149 Instructs the compiler only to
151 the given TTCN-3 and ASN.1 modules. This will detect only the syntax errors
152 because semantic checkings are
154 performed. The presence of all imported modules is not necessary thus it is
155 allowed (and recommended) to parse the modules one-by-one.
157 All options that influence the code generation are silently ignored when used
162 This option includes complete syntax checks for TTCN-3 modules, but in ASN.1
163 there are some special constructs (e.g. the user-defined syntaxes) that cannot
164 be even parsed without semantic analysis. So there is no guarantee that an ASN.1
165 module is free of syntax errors if it was analyzed with compiler using the
169 .BI \-P " top_level_pdu" ...
170 Defines a top-level pdu.
172 must have the following format:
173 .I modulename.identifier.
174 If this switch is used, then only the defined top-level PDU(s) and the
175 referenced assignments are checked and included in code generation, the
176 other ASN.1 assignments are skipped.
180 mode. Equivalent with
190 Disables the generation of
192 encoder/decoder routines for all TTCN-3 types.
195 Use function test runtime (TITAN_RUNTIME_2). The compiler will generate source
196 code for use with function test runtime.
199 Instructs the compiler to parse the given TTCN-3 and ASN.1 modules and perform
203 to generate C++ output. The list of given modules shall be complete so it is
204 not allowed to import from a module that is not in the list. All options that
205 influence the code generation are silently ignored when used together with
215 skeleton header and source files for all port types that can be found in
216 TTCN-3 modules. Existing Test Port files will not be overwritten unless the
221 Forces the interpretation of
229 Forces the compiler to do
230 .I duplicate underscore
231 characters in all output file names. This option turns on the
232 compatibility mode with versions 1.1 or earlier.
235 Selects code splitting mode for the generated C++ code.
240 and license key information and exits.
242 .BI \-V " verb_level"
243 Sets the verbosity bit-mask directly to
247 is a decimal value between 0 and 65535).
256 "NOT SUPPORTED" messages.
267 The debug-bits act like a 3-bits-length number, so the debug level has
268 a value between 0 and 7. It is useful in case of abnormal program termination.
276 messages. Equivalent with
280 Disables the generation of
282 encoder/decoder routines for all TTCN-3 types.
287 encoder/decoder functions
295 Enforces legacy behaviour of the "out" function parameters (see refguide).
298 The single dash character as command line argument controls the
299 .I selective code generation
301 After the list of all TTCN-3 and ASN.1 modules a subset of these files can
302 be given separated by a dash. This option instructs the compiler to parse all
303 modules, perform the semantic analysis on the entire module hierarchy, but
306 for those modules that are listed after the dash again.
308 It is not allowed to specify a file name after the dash that was not present
309 in the list before the dash. If the single dash is not present in the command
310 line the compiler will generate code for
315 Generates a JSON schema from the types defined in the specified TTCN-3 and ASN.1 modules.
316 Must always be the first compiler option. From the previously listed options only
320 can be used, instead the JSON schema generator has options of its own:
323 Only types that have JSON coding enabled are included in the schema.
326 The schema only validates types that have a JSON encoding or decoding method declared.
329 The single dash character as command line argument specifies the name of the generated
330 JSON schema file. If it is not present, then the schema file name is generated from
331 the name of the first input file (by replacing its suffix with
335 to the end of the file).
337 The compiler exits with a status of zero when no errors were encountered
338 during its operation. A status of one will be returned if syntax or
339 semantic errors were detected in the input modules.
340 .SH ENVIRONMENT VARIABLES
344 The installation directory where the uncompressed binary package of
345 TTCN-3 Test Executor can be found.
349 It shall point to the
353 to its directory) that contains the personalized license key for the
354 current user or host.
356 The compiler does not support all constructs of TTCN-3 Core Language and ASN.1.
357 It reports an error when encountering an unsupported language element.
358 The detailed list of deficiencies and language extensions can be found in the
359 referenced documentation.
361 For trouble reporting use the tool
363 For TR writers guide please visit the web page:
364 .I http://ttcn.ericsson.se.
368 Ericsson document 2/198 17-CRL 113 200 Uen:
369 .B Programmer's Technical Reference for TITAN TTCN-3 Test Executor
372 ETSI Standard ES 201-873-1:
373 .B Testing and Test Control Notation: TTCN-3 Core Language
376 ITU-T Recommendations X.680-683:
377 .B Abstract Syntax Notation One (ASN.1)
379 This manpage is written by Janos Zoltan Szabo, Ericsson Telecom AB
381 Copyright (c) 2000-2014 Ericsson Telecom AB
383 All rights reserved. This program and the accompanying materials
384 are made available under the terms of the Eclipse Public License v1.0
385 which accompanies this distribution, and is available at
387 http://www.eclipse.org/legal/epl-v10.html