Provided by: eclipse-titan_8.1.1-1_amd64 bug

NAME

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

SYNOPSIS

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

       -h        Allows unsafe universal charstring to charstring conversion.

       -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        Enables object-oriented features.

       -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 and External Class skeleton header and source files for all
                 port types and external class types that  can  be  found  in  the  input  TTCN-3
                 modules.  Existing  Test  Port  and External Class 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-2021 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