additional fixes to checkstate
[deliverable/titan.core.git] / compiler2 / compiler.1
CommitLineData
970ed795
EL
1.TH compiler 1 "October 2014" "Ericsson Telecom AB" "TTCN-3 Tools"
2.SH NAME
3compiler \- TTCN-3 and ASN.1 to C++ translator
4.SH SYNOPSIS
5.B compiler
feade998 6.RB "[\| " \-abcdEfgijlLMpqrRsStuwxXyY " \|]"
970ed795
EL
7.RB "[\| " \-V
8.IR " verb_level" " \|]"
9.RB "[\| " \-K
10.IR " file" " \|]"
a38c6d4c 11.RB "[\| " \-z
12.IR " file" " \|]"
970ed795
EL
13.RB "[\| " \-o
14.IR " dir" " \|]"
15.RB "[\| " \-P
16.IR " top_level_pdu" " \|] ..."
17.RB "[\| " \-Q
18.IR "n" " \|] "
19.RB "[\| " \-U
20.IR "none|type" " \|] "
21.RB "[\| " \-T " \|]"
22module.ttcn ...
23.RB "[\| " \-A " \|]"
24module.asn ...
25[\| \- module.ttcn ... module.asn ... \|]
26.br
27or
28.br
29.B compiler
30.B \-v
af710487 31.br
32or
33.br
34.B compiler \-\-ttcn2json
35.RB "[\| " \-jf " \|]"
36.RB "[\| " \-T " \|]"
37module.ttcn ...
38.RB "[\| " \-A " \|]"
39module.asn ...
40.RB "[\| " \-
41schema.json
42.RB " \|]"
970ed795 43.SH DESCRIPTION
af710487 44This manual page is a quick reference for the TTCN-3 and ASN.1 to C++ (or JSON schema)
970ed795
EL
45compiler of the TTCN-3 Test Executor. It only summarizes the meaning of
46all command line options. For more details please consult the
47.B Programmer's Technical Reference for TITAN TTCN-3 Test Executor.
48.SH OPTIONS
49The following options are supported (in alphabetical order):
50.TP 10
51.BI \-A " file"
52Forces the interpretation of
53.I file
54as an
55.I ASN.1 module.
56It is useful when automatic module type detection fails
57due to some strange language constructs. The option takes exactly one file
58name as argument. The option must be repeated when used with multiple files.
59See also: option
60.B \-T.
61.TP
62.B \-a
63Force
64.I XER
65in ASN.1 files
66.TP
67.B \-b
68Disables the generation of
69.I BER
70encoder/decoder routines for all ASN.1 types.
71.TP
66d5fa86
BB
72.B \-B
73Allows the selected field in a union value to be unbound, when setting module
74parameters (legacy behavior). A warning is displayed whenever a union value
75receives an unbound selected field and when a union with an unbound selected field
76is copied.
77.TP
970ed795
EL
78.B \-c
79Write out
80.I checksums
81in case of error
82.TP
83.B \-d
84Treat ASN.1
85.I SEQUENCE/SET
86fields with DEFAULT values as
87.I omit
88in TTCN-3.
89.TP
feade998 90.B \-E
91Instructs the variant attribute parser to display warnings instead of errors
92for unrecognized/erroneous attributes.
93.TP
970ed795
EL
94.B \-f
95Forces the compiler to
96.I overwrite
97the output files even if they exist or are unchanged.
98.TP
99.B \-g
100The compiler error/warning messages will contain only the starting
101line number and column, in a format compatible with th GNU compiler (gcc).
102.B \-g
103takes precedence over
104.B \-i
105if both are specified.
106.TP
107.B \-i
108The compiler error/warning messages
109will contain only the
110.I line numbers,
111the column numbers will remain hidden. This option provides backward
112compatibility with the error message format of earlier versions.
113.TP
114.B \-j
115Disables JSON encoder/decoder functions.
116.TP
117.BI \-K " file"
118Enables selective code coverage.
119.TP
120.B \-l
121Instructs the compiler to generate source file and line information (i.e.
122.I #line
123directives) into the output C++ code so that the C++ compiler error
124messages refer back to the lines of original TTCN-3 input module.
125.br
126This option is
127.I obsolete
128and will be removed in future versions as the
129compiler does not generate erroneous C++ code because of the full
130semantic analysis.
131.TP
132.B \-L
133Instructs the compiler to add source file and line
134.I source file
135and
136.I line number
137information into the generated code to be included in the
138.I log
139during execution.
140.br
141This option is only a prerequisite for logging the source code information.
142Options
143.I SourceInfoFormat
144and
145.I LogEntityName
146have also to be set appropriately in section
147.I [LOGGING]
148of the run-time configuration file.
149.br
150Usage of this option a bit enlarges the size of the generated code and slightly
151reduces execution speed. This flag is not recommended when the TTCN-3 test
152suite is used for load generation.
153.TP
3abe9331 154.B \-M
155Allows the use of the value
156.B omit
157in template lists and complemented template lists (legacy behavior).
158If set, an omitted field will match a template list, if the value
159.B omit
160appears in the list, and it will match a complemented template list, if
161.B omit
162is not in the list (the
163.B ifpresent
164attribute can still be used for matching omitted fields). This also affects the
165.B ispresent
166operation and the
167.B present
168template restriction accordingly.
169.TP
970ed795
EL
170.BI \-o " dir"
171The output files (including Test Port skeletons) will be placed into
172the directory specified by
173.I dir.
174The current working directory is the default otherwise.
175.TP
176.B \-p
177Instructs the compiler only to
178.I parse
179the given TTCN-3 and ASN.1 modules. This will detect only the syntax errors
180because semantic checkings are
181.I not
182performed. The presence of all imported modules is not necessary thus it is
183allowed (and recommended) to parse the modules one-by-one.
184.br
185All options that influence the code generation are silently ignored when used
186together with
187.B \-p.
188.br
189.B Note:
190This option includes complete syntax checks for TTCN-3 modules, but in ASN.1
191there are some special constructs (e.g. the user-defined syntaxes) that cannot
192be even parsed without semantic analysis. So there is no guarantee that an ASN.1
193module is free of syntax errors if it was analyzed with compiler using the
194.B -p
195flag.
196.TP
197.BI \-P " top_level_pdu" ...
198Defines a top-level pdu.
199.I top_level_pdu
200must have the following format:
201.I modulename.identifier.
202If this switch is used, then only the defined top-level PDU(s) and the
203referenced assignments are checked and included in code generation, the
204other ASN.1 assignments are skipped.
205.TP
206.B \-q
207.I Quiet
208mode. Equivalent with
209.B \-V 0.
210.TP
211.B \-Qn
212.I Quits
213after
214.B n
215errors.
216.TP
217.B \-r
218Disables the generation of
219.I RAW
220encoder/decoder routines for all TTCN-3 types.
221.TP
222.B \-R
223Use function test runtime (TITAN_RUNTIME_2). The compiler will generate source
224code for use with function test runtime.
225.TP
226.B \-s
227Instructs the compiler to parse the given TTCN-3 and ASN.1 modules and perform
228.I semantic analysis
229on them, but
230.I not
231to generate C++ output. The list of given modules shall be complete so it is
232not allowed to import from a module that is not in the list. All options that
233influence the code generation are silently ignored when used together with
234.B \-s.
235.TP
236.B \-S
237.I Suppresses
238context information.
239.TP
240.B \-t
241Generates
242.I Test Port
243skeleton header and source files for all port types that can be found in
244TTCN-3 modules. Existing Test Port files will not be overwritten unless the
245.B \-f
246option is used.
247.TP
248.BI \-T " file"
249Forces the interpretation of
250.I file
251as a
252.I TTCN-3 module.
253See also: option
254.B \-A.
255.TP
256.B \-u
257Forces the compiler to do
258.I duplicate underscore
259characters in all output file names. This option turns on the
260compatibility mode with versions 1.1 or earlier.
261.TP
262.BI \-U " none|type"
263Selects code splitting mode for the generated C++ code.
264.TP
265.B \-v
266Prints
267.I version
268and license key information and exits.
269.TP
270.BI \-V " verb_level"
271Sets the verbosity bit-mask directly to
272.I verb_level
273(where
274.I verb_level
275is a decimal value between 0 and 65535).
276.br
277.sp 1
278Meaning of bits:
279.P
280.RS 10
281.PD 0
282.TP 10
283.B 1:
284"NOT SUPPORTED" messages.
285.TP
286.B 2:
287WARNING messages.
288.TP
289.B 4:
290NOTIFY messages.
291.TP
292.B 32|16|8:
293DEBUG messages.
294.br
295The debug-bits act like a 3-bits-length number, so the debug level has
296a value between 0 and 7. It is useful in case of abnormal program termination.
297.PD
298.RE
299.P
300.TP 10
301.B \-w
302Suppresses all
303.I warning
304messages. Equivalent with
305.B \-V 4.
306.TP
307.B \-x
308Disables the generation of
309.I TEXT
310encoder/decoder routines for all TTCN-3 types.
311.TP
312.B \-X
313Disable
314.I XER
315encoder/decoder functions
316.TP
317.B \-y
318Disable
319.I subtype
320checking
321.TP
322.B \-Y
323Enforces legacy behaviour of the "out" function parameters (see refguide).
324.TP
a38c6d4c 325.BI \-z " file"
326Enables profiling and code coverage in the selected TTCN-3 files. The
327.I file
328argument 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.
329.TP
970ed795
EL
330.B \-
331The single dash character as command line argument controls the
332.I selective code generation
333option.
334After the list of all TTCN-3 and ASN.1 modules a subset of these files can
335be given separated by a dash. This option instructs the compiler to parse all
336modules, perform the semantic analysis on the entire module hierarchy, but
337generate code
338.I only
339for those modules that are listed after the dash again.
340.br
341It is not allowed to specify a file name after the dash that was not present
342in the list before the dash. If the single dash is not present in the command
343line the compiler will generate code for
344.I all
345modules.
af710487 346.TP
347.B \-\-ttcn2json
348Generates a JSON schema from the types defined in the specified TTCN-3 and ASN.1 modules.
349Must always be the first compiler option. From the previously listed options only
350.B \-T
351and
352.B \-A
353can be used, instead the JSON schema generator has options of its own:
354.TP
355.B \-j
356Only types that have JSON coding enabled are included in the schema.
357.TP
358.B \-f
359The schema only validates types that have a JSON encoding or decoding method declared.
360.TP
361.BI \- " file"
362The single dash character as command line argument specifies the name of the generated
363JSON schema file. If it is not present, then the schema file name is generated from
364the name of the first input file (by replacing its suffix with
365.I \.json
366or appending
367.I \.json
368to the end of the file).
970ed795
EL
369.SH EXIT STATUS
370The compiler exits with a status of zero when no errors were encountered
371during its operation. A status of one will be returned if syntax or
372semantic errors were detected in the input modules.
373.SH ENVIRONMENT VARIABLES
374.TP
375.SM
376TTCN3_DIR
377The installation directory where the uncompressed binary package of
378TTCN-3 Test Executor can be found.
379.TP
380.SM
381TTCN3_LICENSE_FILE
382It shall point to the
383.I file
384.RB ( NB:
385.I not
386to its directory) that contains the personalized license key for the
387current user or host.
388.SH BUGS
389The compiler does not support all constructs of TTCN-3 Core Language and ASN.1.
390It reports an error when encountering an unsupported language element.
391The detailed list of deficiencies and language extensions can be found in the
392referenced documentation.
393.LP
394For trouble reporting use the tool
395.BR "MHWEB" "."
396For TR writers guide please visit the web page:
397.I http://ttcn.ericsson.se.
398.SH SEE ALSO
399.TP
400.SM
401Ericsson document 2/198 17-CRL 113 200 Uen:
402.B Programmer's Technical Reference for TITAN TTCN-3 Test Executor
403.TP
404.SM
405ETSI Standard ES 201-873-1:
406.B Testing and Test Control Notation: TTCN-3 Core Language
407.TP
408.SM
409ITU-T Recommendations X.680-683:
410.B Abstract Syntax Notation One (ASN.1)
411.SH AUTHOR
412This manpage is written by Janos Zoltan Szabo, Ericsson Telecom AB
413.br
d44e3c4f 414Copyright (c) 2000-2016 Ericsson Telecom AB
970ed795
EL
415.br
416All rights reserved. This program and the accompanying materials
417are made available under the terms of the Eclipse Public License v1.0
418which accompanies this distribution, and is available at
419.br
420http://www.eclipse.org/legal/epl-v10.html
This page took 0.057911 seconds and 5 git commands to generate.