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