blob: 78ae87edf49dc555d9524d5c57df389f5da674b7 [file] [log] [blame]
<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>1.1.1.&nbsp;VTCL file</title><link href="style.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.72.0" name="generator"><link rel="start" href="index.html" title="The VIATRA2 Model Transformation Framework"><link rel="up" href="sec_VtclFile.html" title="1.1.&nbsp;VTCL Files"><link rel="prev" href="sec_VtclFile.html" title="1.1.&nbsp;VTCL Files"><link rel="next" href="def_NamespaceDefinition.html" title="1.1.2.&nbsp;Namespace Definition"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">1.1.1.&nbsp;VTCL file</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="sec_VtclFile.html">Prev</a>&nbsp;</td><th align="center" width="60%">1.1.&nbsp;VTCL Files</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="def_NamespaceDefinition.html">Next</a></td></tr></table><hr></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="def_VtclFile"></a>1.1.1.&nbsp;VTCL file</h4></div></div></div><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Tip: Description"><tr><td valign="top" align="center" rowspan="2" width="25"><img alt="[Tip]" src="images/tip.png"></td><th align="left"><a name="def_VtclFile_Description"></a>Description</th></tr><tr><td valign="top" align="left"><p>
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.
</p></td></tr></table></div><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Important: Syntax"><tr><td valign="top" align="center" rowspan="2" width="25"><img alt="[Important]" src="images/important.png"></td><th align="left"><a name="def_VtclFile_Syntax"></a>Syntax</th></tr><tr><td valign="top" align="left"><pre class="programlisting">
VTCLFile ::= <a href="def_NamespaceDefinition.html" title="1.1.2.&nbsp;Namespace Definition">NamespaceDefAST</a> <a href="def_NamespaceImport.html" title="1.1.3.&nbsp;Namespace Import">NamespaceImportsAST</a> <a href="def_Machine.html" title="1.2.1.&nbsp;GTASM Machine Definition">GTASMDefAST</a>
</pre><p>
A <span class="strong"><strong>VTCL file</strong></span><a name="N100A8" class="indexterm"></a>
contains an optional
(<a href="def_NamespaceDefinition.html" title="1.1.2.&nbsp;Namespace Definition">namespace definition</a>), zero or more
<a href="def_NamespaceImport.html" title="1.1.3.&nbsp;Namespace Import">namespace import</a> and (at least) one
(<a href="def_Machine.html" title="1.2.1.&nbsp;GTASM Machine Definition">transformation definition</a>).
</p><p>
In addition, a VTCL file can contain comments. The part of
the VTCL file is handled as comment that is
<div class="itemizedlist"><ul type="disc"><li><p>
after two slashes ("//") in a single line,
</p></li><li><p>
between the marks "/*" and "*/" even through multiple lines.
</p></li></ul></div>
</p></td></tr></table></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note: Semantics"><tr><td valign="top" align="center" rowspan="2" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left"><a name="def_VtclFile_Semantics"></a>Semantics</th></tr><tr><td valign="top" align="left"><p>
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 <span class="strong"><strong>VTCL file</strong></span>
is the <span class="emphasis"><em>root namespace</em></span>.
</p><p>
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.
</p></td></tr></table></div><div class="caution" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Caution: Constraints"><tr><td valign="top" align="center" rowspan="2" width="25"><img alt="[Caution]" src="images/caution.png"></td><th align="left">Constraints</th></tr><tr><td valign="top" align="left"><p>
It is strongly recommended to define a single machine within a VTCL file, which
might be enforced by future VTCL versions.
</p></td></tr></table></div></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="sec_VtclFile.html">Prev</a>&nbsp;</td><td align="center" width="20%"><a accesskey="u" href="sec_VtclFile.html">Up</a></td><td align="right" width="40%">&nbsp;<a accesskey="n" href="def_NamespaceDefinition.html">Next</a></td></tr><tr><td valign="top" align="left" width="40%">1.1.&nbsp;VTCL Files&nbsp;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td valign="top" align="right" width="40%">&nbsp;1.1.2.&nbsp;Namespace Definition</td></tr></table></div></body></html>