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