blob: 85576f94d2259aa006c08f2260e2b2d3144c2a69 [file] [log] [blame]
<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.7.1.&nbsp;Model Element Name</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_NamingVariables.html" title="5.7.&nbsp;Naming and Variables"><link rel="prev" href="sec_NamingVariables.html" title="5.7.&nbsp;Naming and Variables"><link rel="next" href="def_Variable.html" title="5.7.2.&nbsp;Variable"></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">5.7.1.&nbsp;Model Element Name</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="sec_NamingVariables.html">Prev</a>&nbsp;</td><th align="center" width="60%">5.7.&nbsp;Naming and Variables</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="def_Variable.html">Next</a></td></tr></table><hr></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="def_ModelElementName"></a>5.7.1.&nbsp;Model Element Name</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_ModelElementName_Description"></a>Description</th></tr><tr><td valign="top" align="left"><p>
A <span class="strong"><strong>model element name</strong></span>
<a name="N12DD6" class="indexterm"></a>
is the name of an element in the model space.
</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_ModelElementName_Syntax"></a>Syntax</th></tr><tr><td valign="top" align="left"><pre class="programlisting">
QualifiedTypeNameAST ::= TypeNameAST
| QualifiedTypeNameAST <span class="token">.</span> TypeNameAST
TypeNameAST ::= <a href="def_NameLiteral.html" title="6.2.2.&nbsp;Name Literal">NameLiteral</a>
| <a href="def_Identifier.html" title="6.2.1.&nbsp;Identifier">IDENTIFIER</a>
| <a href="def_UpperCaseLiteral.html" title="6.2.3.&nbsp;UpperCase Literal">UpperCaseLiteral</a>
| <a href="def_VTCLKeywords.html" title="6.1.2.&nbsp;Keywords">KeywordAsIdentifier</a>
ValueQualifiedNameAST ::= ValueLocalNameAST
| QualifiedTypeNameAST <span class="token">.</span> TypeNameAST
ValueLocalNameAST ::= <a href="def_NameLiteral.html" title="6.2.2.&nbsp;Name Literal">NameLiteral</a>
| <a href="def_Identifier.html" title="6.2.1.&nbsp;Identifier">IDENTIFIER</a>
</pre><p>
A model element is identified by its name. A <span class="strong"><strong>model element name</strong></span>
can contain arbitrary ASCII characters except apostrophes (single quotation
marks) since the sequence of characters must be inserted between single
quotation marks. The single quotation marks are not part of the name. The
quotation marks can be omitted if the name starts with a letter (either
upper case or lower case) and contains only alphanumeric characters.
</p><p>
A <span class="strong"><strong>qualified model element name</strong></span> is a sequence of
<span class="strong"><strong>local model element names</strong></span> separated with dots.
</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_ModelElementName_Semantics"></a>Semantics</th></tr><tr><td valign="top" align="left"><p>
The <span class="emphasis"><em>fully qualified name</em></span> is a <span class="strong"><strong>model element name</strong></span> that
consists of all containers of the model element according to the
containment hierarchy starting from a child of the root element.
</p><p>
When defining a <a href="def_Machine.html" title="1.2.1.&nbsp;GTASM Machine Definition">machine</a>, an <a href="def_AsmRuleDef.html" title="4.1.1.&nbsp;ASM Rule Definition">ASM rule</a>,
an <a href="def_AsmFunctionDef.html" title="5.5.1.&nbsp;ASM Function Definition">ASM function</a>, a <a href="def_GraphPatternDef.html" title="2.1.1.&nbsp;Graph Pattern Definition">graph pattern</a> or
a <a href="def_GTRuleDef.html" title="3.1.1.&nbsp;Graph Transformation Rule Definition">graph transformation rule</a>, their names are always defined as <span class="emphasis"><em>local names</em></span>, while
their namespace is defined globally in the <a href="def_VtclFile.html" title="1.1.1.&nbsp;VTCL file">VTCL file</a> in a
<a href="def_NamespaceDefinition.html" title="1.1.2.&nbsp;Namespace Definition">namespace definition</a>.
</p><p>
The <span class="emphasis"><em>local name</em></span> of a model element can be used in
the type of an <a href="def_Entity.html" title="2.2.1.&nbsp;Entity">entity</a> or
<a href="def_Relation.html" title="2.2.2.&nbsp;Relation">relation</a> if the containment hierarchy of
the referred model element (i.e. the type) is imported by a
<a href="def_NamespaceImport.html" title="1.1.3.&nbsp;Namespace Import">namespace import</a>.
</p></td></tr></table></div><div class="highlights"><a name="def_ModelElementName_Remark"></a><p><b>Remark.&nbsp;</b>
Note that name constants starting with an upper-case initial may clash with
variables in ASM programs. In case of such a conflict, the name constants
have to be surrounded with apostrophes (').
In other terms, in ASM programs, all upper case literals and reserved words
should be quoted between apostrophes, when used as a model element constant as a local name.
</p></div><div class="highlights"><a name="def_ModelElementName_UsedBy"></a><p><b>Used By:&nbsp;</b>
<a href="def_NamespaceDefinition.html" title="1.1.2.&nbsp;Namespace Definition">namespace definition</a>,
<a href="def_NamespaceImport.html" title="1.1.3.&nbsp;Namespace Import">namespace import</a>,
<a href="def_GTRuleDef.html" title="3.1.1.&nbsp;Graph Transformation Rule Definition">GT rule definition</a>,
<a href="def_GTRuleCall.html" title="3.4.1.&nbsp;GTRule Call">GT rule invocation</a>,
<a href="def_GraphPatternDef.html" title="2.1.1.&nbsp;Graph Pattern Definition">graph pattern definition</a>,
<a href="def_GraphPatternCall.html" title="2.1.4.&nbsp;Graph Pattern Call">graph pattern call</a>,
<a href="def_AsmRuleDef.html" title="4.1.1.&nbsp;ASM Rule Definition">ASM rule definition</a>,
<a href="def_CallRule.html" title="4.2.2.&nbsp;Call Rule">Call rule (ASM rule invocation)</a>,
<a href="def_AsmFunctionDef.html" title="5.5.1.&nbsp;ASM Function Definition">ASM function definition</a>,
<a href="def_AsmFunctionLocation.html" title="5.5.3.&nbsp;ASM Function Location">ASM function location</a>,
<a href="def_PredefinedFunctionCall.html" title="5.6.1.&nbsp;Predefined Function Call">predefined function call</a>,
<a href="def_Entity.html" title="2.2.1.&nbsp;Entity">entity type</a>,
<a href="def_Relation.html" title="2.2.2.&nbsp;Relation">relation type</a>
</p></div></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="sec_NamingVariables.html">Prev</a>&nbsp;</td><td align="center" width="20%"><a accesskey="u" href="sec_NamingVariables.html">Up</a></td><td align="right" width="40%">&nbsp;<a accesskey="n" href="def_Variable.html">Next</a></td></tr><tr><td valign="top" align="left" width="40%">5.7.&nbsp;Naming and Variables&nbsp;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td valign="top" align="right" width="40%">&nbsp;5.7.2.&nbsp;Variable</td></tr></table></div></body></html>