Provided by: eclipse-titan_6.6.1-1_amd64 bug

NAME

       compiler - TTCN-3 and ASN.1 to C++ translator

SYNOPSIS

       compiler  [ -abcdDeEfFgiIjlLMnNpqrRsStuwxXyY0 ] [ -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.

       -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 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 skeleton header and source files for all port types that can  be  found  in
                 TTCN-3 modules. Existing Test Port 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-2019 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