1.1.1. VTCL file

[Tip]Description

A VTCL file contains the definition of one GTASM machine (i.e. transformation) in the default or in the explicitly defined namespace. Other namespaces can be imported for direct accessibility of the elements defined there.

[Important]Syntax
VTCLFile ::= NamespaceDefAST NamespaceImportsAST GTASMDefAST

A VTCL file contains an optional (namespace definition), zero or more namespace import and (at least) one (transformation definition).

In addition, a VTCL file can contain comments. The part of the VTCL file is handled as comment that is

  • after two slashes ("//") in a single line,

  • between the marks "/*" and "*/" even through multiple lines.

[Note]Semantics

If a namespace is defined explicitly then all GTASMs defined in the file are interpreted as parts of this namespace, otherwise GTASMs are part of the default namespace. The default namespace for a VTCL file is the root namespace.

Arbitrary number of other namespaces can also be imported; in this case all model elements defined in or below these namespaces can be referenced inside of the machine(s) defined in the file with their local names or qualified names local to the given namespace.

[Caution]Constraints

It is strongly recommended to define a single machine within a VTCL file, which might be enforced by future VTCL versions.