blob: ca02ff715cbd47500c46377cc00e07a54fddacc2 [file] [log] [blame]
<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter&nbsp;2.&nbsp;Viatra Textual Command Language (VTCL) Specification</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="index.html" title="The VIATRA2 Model Transformation Framework"><link rel="prev" href="sec_FAQ.html" title="2.2.&nbsp;Frequently Asked Questions (FAQ)"><link rel="next" href="sec_MainVtclConcepts.html" title="1.&nbsp;VTCL Files and Machines (Transformations)"></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">Chapter&nbsp;2.&nbsp;Viatra Textual Command Language (VTCL) Specification</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="sec_FAQ.html">Prev</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="sec_MainVtclConcepts.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="sec_VTCLSpec"></a>Chapter&nbsp;2.&nbsp;Viatra Textual Command Language (VTCL) Specification</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="sec_MainVtclConcepts.html">1. VTCL Files and Machines (Transformations)</a></span></dt><dd><dl><dt><span class="sect2"><a href="sec_VtclFile.html">1.1. VTCL Files</a></span></dt><dt><span class="sect2"><a href="sec_MachineDefinition.html">1.2. Machine Definition</a></span></dt></dl></dd><dt><span class="sect1"><a href="sec_GraphPatterns.html">2. Graph Patterns</a></span></dt><dd><dl><dt><span class="sect2"><a href="sec_PatternDefinition.html">2.1. Pattern Definition</a></span></dt><dt><span class="sect2"><a href="sec_LocalPatternlElementDescription.html">2.2. Local Pattern Body Elements</a></span></dt></dl></dd><dt><span class="sect1"><a href="sec_GraphTransformations.html">3. Graph Transformation Rules</a></span></dt><dd><dl><dt><span class="sect2"><a href="sec_DefGTRule.html">3.1. Definition of Graph Transformation Rules</a></span></dt><dt><span class="sect2"><a href="sec_GTParamPass.html">3.2. Parameter passing at Graph Transformation Rules</a></span></dt><dt><span class="sect2"><a href="sec_GTRuleBehaviour.html">3.3. Behavioural Specification of Graph Transformation Rules</a></span></dt><dt><span class="sect2"><a href="sec_InvokeGTRule.html">3.4. Invocation of Graph Transformation Rules</a></span></dt></dl></dd><dt><span class="sect1"><a href="sec_ASMRules.html">4. ASM Rules</a></span></dt><dd><dl><dt><span class="sect2"><a href="sec_DefASMRule.html">4.1. ASM Rule Definition and Invocation</a></span></dt><dt><span class="sect2"><a href="sec_ASMSimpleRules.html">4.2. Simple ASM Rules</a></span></dt><dt><span class="sect2"><a href="sec_ASMCompoundRules.html">4.3. Compound ASM Rules</a></span></dt><dt><span class="sect2"><a href="sec_ASMModelManipulationRules.html">4.4. Model Manipulation Rules</a></span></dt></dl></dd><dt><span class="sect1"><a href="sec_ASMTermsFormulas.html">5. ASM Terms and ASM Functions</a></span></dt><dd><dl><dt><span class="sect2"><a href="sec_ASMTerms.html">5.1. ASM Terms: An Overview</a></span></dt><dt><span class="sect2"><a href="sec_ASMLogicalTerms.html">5.2. Logical Terms</a></span></dt><dt><span class="sect2"><a href="sec_ASMArithmeticTerms.html">5.3. Arithmetic Terms</a></span></dt><dt><span class="sect2"><a href="sec_ASMConstants.html">5.4. Constants</a></span></dt><dt><span class="sect2"><a href="sec_ASMFunctions.html">5.5. ASM Functions</a></span></dt><dt><span class="sect2"><a href="sec_PredefinedFunctions.html">5.6. Predefined Functions</a></span></dt><dt><span class="sect2"><a href="sec_NamingVariables.html">5.7. Naming and Variables</a></span></dt><dt><span class="sect2"><a href="sec_Parameters.html">5.8. Parameters and Variable Lists</a></span></dt></dl></dd><dt><span class="sect1"><a href="sec_VTCLTokens.html">6. Tokens in the VTCL Language</a></span></dt><dd><dl><dt><span class="sect2"><a href="sec_TokensOverview.html">6.1. VTCL tokens: An Overview</a></span></dt><dt><span class="sect2"><a href="sec_NameTokens.html">6.2. Tokens for names and strings</a></span></dt><dt><span class="sect2"><a href="sec_NumberTokens.html">6.3. Tokens for numbers</a></span></dt></dl></dd></dl></div><p>
The Viatra Textual Command Language (VTCL) is the primary
transformation definition language for the VIATRA2 framework.
Developers can use this language for the definition of model
transformations and code generators. The language combines the
formalism of graph transformation (GT) rules and Abstract State Machine (ASM) rule
into a single paradigm. This chapter introduces the constructs
of the language.
</p></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="sec_FAQ.html">Prev</a>&nbsp;</td><td align="center" width="20%">&nbsp;</td><td align="right" width="40%">&nbsp;<a accesskey="n" href="sec_MainVtclConcepts.html">Next</a></td></tr><tr><td valign="top" align="left" width="40%">2.2.&nbsp;Frequently Asked Questions (FAQ)&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.&nbsp;VTCL Files and Machines (Transformations)</td></tr></table></div></body></html>