blob: efdbf38e05d714bf8423af69aa3fa2f0ef7deab2 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><!--This file was converted to xhtml by OpenOffice.org - see http://xml.openoffice.org/odf2xhtml for more info.--><head profile="http://dublincore.org/documents/dcmi-terms/"><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/><title xml:lang="en-US">EMFTVM format specification</title><meta name="DCTERMS.title" content="EMFTVM format specification" xml:lang="en-US"/><meta name="DCTERMS.language" content="en-US" scheme="DCTERMS.RFC4646"/><meta name="DCTERMS.source" content="http://xml.openoffice.org/odf2xhtml"/><meta name="DCTERMS.creator" content="Dennis Wagelaar"/><meta name="DCTERMS.issued" content="2011-01-12T11:02:40" scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.contributor" content="Dennis Wagelaar"/><meta name="DCTERMS.modified" content="2013-07-19T21:33:07" scheme="DCTERMS.W3CDTF"/><meta name="DCTERMS.provenance" content="" xml:lang="en-US"/><meta name="DCTERMS.subject" content="," xml:lang="en-US"/><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" hreflang="en"/><link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" hreflang="en"/><link rel="schema.DCTYPE" href="http://purl.org/dc/dcmitype/" hreflang="en"/><link rel="schema.DCAM" href="http://purl.org/dc/dcam/" hreflang="en"/><style type="text/css">
@page { }
table { border-collapse:collapse; border-spacing:0; empty-cells:show }
td, th { vertical-align:top; font-size:10pt;}
h1, h2, h3, h4, h5, h6 { clear:both }
ol, ul { margin:0; padding:0;}
li { list-style: none; margin:0; padding:0;}
<!-- "li span.odfLiEnd" - IE 7 issue-->
li span. { clear: both; line-height:0; width:0; height:0; margin:0; padding:0; }
span.footnodeNumber { padding-right:1em; }
span.annotation_style_by_filter { font-size:95%; font-family:Arial; background-color:#fff000; margin:0; border:0; padding:0; }
* { margin:0;}
.ta3 { writing-mode:lr-tb; }
.ta4 { writing-mode:lr-tb; }
.ta5 { writing-mode:lr-tb; }
.Default { font-family:Arial; }
.ce47 { font-family:Arial; border-width:0,0021cm; border-style:solid; border-color:#000000; font-weight:bold; }
.ce48 { font-family:Arial; border-width:0,0021cm; border-style:solid; border-color:#000000; }
.ce49 { font-family:Arial; border-width:0,0021cm; border-style:solid; border-color:#000000; }
.ce50 { font-family:Arial; background-color:#c0c0c0; border-width:0,0021cm; border-style:solid; border-color:#000000; }
.ce51 { font-family:Arial; background-color:#c0c0c0; border-width:0,0021cm; border-style:solid; border-color:#000000; }
.ce52 { font-family:Arial; background-color:transparent; border-width:0,0021cm; border-style:solid; border-color:#000000; }
.ce53 { font-family:Arial; background-color:transparent; border-width:0,0021cm; border-style:solid; border-color:#000000; }
.ce54 { font-family:Arial; }
.ce55 { font-family:Arial; border-bottom-width:0,0021cm; border-bottom-style:solid; border-bottom-color:#000000; background-color:#c0c0c0; border-left-width:0,0021cm; border-left-style:solid; border-left-color:#000000; border-right-style:none; border-top-width:0,0021cm; border-top-style:solid; border-top-color:#000000; }
.ce56 { font-family:Arial; font-size:10pt; font-style:normal; text-shadow:none; text-decoration:none ! important; font-weight:bold; }
.ce57 { font-family:Arial; border-width:0,0021cm; border-style:solid; border-color:#000000; font-size:10pt; font-style:italic; text-shadow:none; text-decoration:none ! important; font-weight:bold; }
.ce58 { font-family:Arial; border-bottom-width:0,0021cm; border-bottom-style:solid; border-bottom-color:#000000; background-color:#c0c0c0; border-left-style:none; border-right-style:none; border-top-width:0,0021cm; border-top-style:solid; border-top-color:#000000; font-style:italic; }
.ce59 { font-family:Arial; border-bottom-width:0,0021cm; border-bottom-style:solid; border-bottom-color:#000000; background-color:#c0c0c0; border-left-style:none; border-right-style:none; border-top-width:0,0021cm; border-top-style:solid; border-top-color:#000000; }
.ce60 { font-family:Arial; background-color:#c0c0c0; }
.ce61 { font-family:Arial; border-bottom-width:0,0021cm; border-bottom-style:solid; border-bottom-color:#000000; background-color:#c0c0c0; border-left-style:none; border-right-width:0,0021cm; border-right-style:solid; border-right-color:#000000; border-top-width:0,0021cm; border-top-style:solid; border-top-color:#000000; }
.ce62 { font-family:Arial; font-weight:bold; }
.ce63 { font-family:Arial; vertical-align:top; text-align:left ! important; margin-left:0cm; writing-mode:page; font-size:10pt; font-style:normal; text-shadow:none; text-decoration:none ! important; font-weight:bold; }
.ce64 { font-family:Arial; vertical-align:top; text-align:left ! important; margin-left:0cm; writing-mode:page; }
.ce65 { font-family:Arial; border-width:0,0021cm; border-style:solid; border-color:#000000; vertical-align:top; text-align:left ! important; margin-left:0cm; writing-mode:page; font-size:10pt; font-style:italic; text-shadow:none; text-decoration:none ! important; font-weight:bold; }
.ce66 { font-family:Arial; border-width:0,0021cm; border-style:solid; border-color:#000000; vertical-align:top; text-align:left ! important; margin-left:0cm; writing-mode:page; }
.ce67 { font-family:Arial; border-width:0,0021cm; border-style:solid; border-color:#000000; vertical-align:top; text-align:left ! important; margin-left:0cm; writing-mode:page; font-size:10pt; font-style:normal; text-shadow:none; text-decoration:none ! important; font-weight:normal; }
.ce68 { font-family:Arial; border-width:0,0021cm; border-style:solid; border-color:#000000; vertical-align:top; text-align:left ! important; margin-left:0cm; writing-mode:page; font-size:10pt; font-style:italic; text-shadow:none; text-decoration:none ! important; font-weight:normal; }
.ce69 { font-family:Arial; border-width:0,0021cm; border-style:solid; border-color:#000000; vertical-align:top; text-align:left ! important; margin-left:0cm; writing-mode:page; color:#0000ff; font-size:10pt; font-style:normal; text-shadow:none; text-decoration:none ! important; font-weight:normal; }
.ce70 { font-family:Arial; vertical-align:top; text-align:left ! important; margin-left:0cm; writing-mode:page; font-size:10pt; font-style:italic; text-shadow:none; text-decoration:none ! important; font-weight:normal; }
.ce71 { font-family:Arial; border-width:0,0021cm; border-style:solid; border-color:#000000; font-size:10pt; font-style:normal; text-shadow:none; text-decoration:none ! important; font-weight:normal; }
.co10 { width:2.542cm; }
.co11 { width:3.595cm; }
.co12 { width:15.307cm; }
.co14 { width:2.122cm; }
.co15 { width:7.869cm; }
.co16 { width:3.976cm; }
.co17 { width:6.592cm; }
.co18 { width:12.829cm; }
.co6 { width:2.267cm; }
.co8 { width:0.707cm; }
.co9 { width:3.468cm; }
.ro1 { height:0.441cm; }
.ro3 { height:0.459cm; }
.ro4 { height:0.427cm; }
.ro5 { height:0.436cm; }
.ro7 { height:0.452cm; }
.T1 { color:#0000ff; font-family:Arial; font-size:10pt; font-style:normal; text-shadow:none; text-decoration:none ! important; font-weight:normal; }
.T2 { font-family:Arial; font-size:10pt; font-style:normal; text-shadow:none; text-decoration:none ! important; font-weight:normal; }
<!-- ODF styles with no properties representable as CSS -->
{ }
</style></head><body dir="ltr" style="max-width:29.699cm;margin:2cm; margin-top:2cm; margin-bottom:2cm; margin-left:2cm; margin-right:2cm; writing-mode:lr-tb; "><table border="0" cellspacing="0" cellpadding="0" class="ta5"><colgroup><col width="31"/><col width="152"/><col width="111"/><col width="157"/><col width="669"/><col width="99"/></colgroup><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="Default"> </td><td style="text-align:left;width:3.468cm; " class="ce56"><p>EMF TVM opcode list</p></td><td style="text-align:left;width:2.542cm; " class="Default"> </td><td style="text-align:left;width:3.595cm; " class="Default"> </td><td style="text-align:left;width:15.307cm; " class="Default"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="Default"> </td><td style="text-align:left;width:3.468cm; " class="Default"> </td><td style="text-align:left;width:2.542cm; " class="Default"> </td><td style="text-align:left;width:3.595cm; " class="Default"> </td><td style="text-align:left;width:15.307cm; " class="Default"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce47"><p>#</p></td><td style="text-align:left;width:3.468cm; " class="ce57"><p>Opcode</p></td><td style="text-align:left;width:2.542cm; " class="ce57"><p>Arguments</p></td><td style="text-align:left;width:3.595cm; " class="ce57"><p>Stack</p></td><td style="text-align:left;width:15.307cm; " class="ce57"><p>Comment</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce48"><p>0</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>PUSH</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: value ref</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Push constant literal onto stack</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>1</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>PUSHT</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Push TRUE literal onto stack</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>2</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>PUSHF</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Push FALSE literal onto stack</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>3</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>POP</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: value</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Pops top value from stack</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>4</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>LOAD</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: cb offset</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Loads local variable value onto stack, given the parent code block offset (0 = this code block)</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce48"> </td><td style="text-align:left;width:3.468cm; " class="ce48"> </td><td style="text-align:left;width:2.542cm; " class="ce48"><p>2: varIndex</p></td><td style="text-align:left;width:3.595cm; " class="ce48"> </td><td style="text-align:left;width:15.307cm; " class="ce48"><p>(varIndex = index of local variable in the local variable table)</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>5</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>STORE</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: cb offset</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: value</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Stores top stack value into local variable (and pops), given the parent code block offset</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce48"> </td><td style="text-align:left;width:3.468cm; " class="ce48"> </td><td style="text-align:left;width:2.542cm; " class="ce48"><p>2: varIndex</p></td><td style="text-align:left;width:3.595cm; " class="ce48"> </td><td style="text-align:left;width:15.307cm; " class="ce48"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>6</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>SET</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: propname</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: object</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Set object property value</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce48"> </td><td style="text-align:left;width:3.468cm; " class="ce48"> </td><td style="text-align:left;width:2.542cm; " class="ce48"> </td><td style="text-align:left;width:3.595cm; " class="ce48"><p>1: value</p></td><td style="text-align:left;width:15.307cm; " class="ce48"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>7</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>GET</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: propname</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: object</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Get object property value onto stack</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>8</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>GET_TRANS</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: propname</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: object</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Get object property transitive closure value onto stack (always a collection)</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>9</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>SET_STATIC</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: fieldname</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: type</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Set static field value</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce48"> </td><td style="text-align:left;width:3.468cm; " class="ce48"> </td><td style="text-align:left;width:2.542cm; " class="ce48"> </td><td style="text-align:left;width:3.595cm; " class="ce48"><p>1: value</p></td><td style="text-align:left;width:15.307cm; " class="ce48"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>10</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>GET_STATIC</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: fieldname</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: type</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Get static field value onto stack</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>11</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>FINDTYPE</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: modelname</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Find type or metaclass in metamodel</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce48"> </td><td style="text-align:left;width:3.468cm; " class="ce48"> </td><td style="text-align:left;width:2.542cm; " class="ce48"><p>2: typename</p></td><td style="text-align:left;width:3.595cm; " class="ce48"> </td><td style="text-align:left;width:15.307cm; " class="ce48"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce50"><p>12</p></td><td style="text-align:left;width:3.468cm; " class="ce51"><p>FINDTYPE_S</p></td><td style="text-align:left;width:2.542cm; " class="ce51"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce51"><p>0: modelname</p></td><td style="text-align:left;width:15.307cm; " class="ce51"><p>Find type or metaclass in metamodel given on the stack</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce48"> </td><td style="text-align:left;width:3.468cm; " class="ce48"> </td><td style="text-align:left;width:2.542cm; " class="ce48"> </td><td style="text-align:left;width:3.595cm; " class="ce48"><p>1: typename</p></td><td style="text-align:left;width:15.307cm; " class="ce48"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>13</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>NEW</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: modelname</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: type</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Creates a new model element, given an output model name</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce50"><p>14</p></td><td style="text-align:left;width:3.468cm; " class="ce51"><p>NEW_S</p></td><td style="text-align:left;width:2.542cm; " class="ce51"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce51"><p>0: modelname</p></td><td style="text-align:left;width:15.307cm; " class="ce51"><p>Creates a new model element, given an output model name on the stack</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce51"> </td><td style="text-align:left;width:3.468cm; " class="ce51"> </td><td style="text-align:left;width:2.542cm; " class="ce51"> </td><td style="text-align:left;width:3.595cm; " class="ce51"><p>1: type</p></td><td style="text-align:left;width:15.307cm; " class="ce51"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>15</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>DELETE</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: object</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Deletes the object on the stack from its model</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>16</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>DUP</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Duplicates stack top value</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>17</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>DUP_X1</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Pops top two values from stack, pushes top value, then pushes original two values back</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>18</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>SWAP</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Swaps top two values on the stack</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>19</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>SWAP_X1</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Swaps third value over top two values on the stack (abc... → cab...)</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce52"><p>20</p></td><td style="text-align:left;width:3.468cm; " class="ce53"><p>IF</p></td><td style="text-align:left;width:2.542cm; " class="ce53"><p>1: target offset</p></td><td style="text-align:left;width:3.595cm; " class="ce53"><p>0: boolean value</p></td><td style="text-align:left;width:15.307cm; " class="ce53"><p>If stack top value is true, branch to target offset</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce52"><p>21</p></td><td style="text-align:left;width:3.468cm; " class="ce53"><p>IFN</p></td><td style="text-align:left;width:2.542cm; " class="ce53"><p>1: target offset</p></td><td style="text-align:left;width:3.595cm; " class="ce53"><p>0: boolean value</p></td><td style="text-align:left;width:15.307cm; " class="ce53"><p>If stack top value is false, branch to target offset</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce52"><p>22</p></td><td style="text-align:left;width:3.468cm; " class="ce53"><p>GOTO</p></td><td style="text-align:left;width:2.542cm; " class="ce53"><p>1: target offset</p></td><td style="text-align:left;width:3.595cm; " class="ce53"><p>-</p></td><td style="text-align:left;width:15.307cm; " class="ce53"><p>Branch to target offset</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce52"><p>23</p></td><td style="text-align:left;width:3.468cm; " class="ce53"><p>ITERATE</p></td><td style="text-align:left;width:2.542cm; " class="ce53"><p>1: target offset</p></td><td style="text-align:left;width:3.595cm; " class="ce53"><p>0: collection value</p></td><td style="text-align:left;width:15.307cm; " class="ce53"><p>Runs the following instructions up to ENDITERATE for each element in the collection;</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce52"> </td><td style="text-align:left;width:3.468cm; " class="ce53"> </td><td style="text-align:left;width:2.542cm; " class="ce53"> </td><td style="text-align:left;width:3.595cm; " class="ce53"> </td><td style="text-align:left;width:15.307cm; " class="ce53"><p>offset marks the matching ENDITERATE</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce52"><p>24</p></td><td style="text-align:left;width:3.468cm; " class="ce53"><p>ENDITERATE</p></td><td style="text-align:left;width:2.542cm; " class="ce53"><p>1: target offset</p></td><td style="text-align:left;width:3.595cm; " class="ce53"><p>-</p></td><td style="text-align:left;width:15.307cm; " class="ce53"><p>Marks the end of an ITERATE run of instructions; offset marks the matching ITERATE</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>25</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>INVOKE</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: opname</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0..n: arguments</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Regular dynamic method invocation, based on runtime type information</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce48"> </td><td style="text-align:left;width:3.468cm; " class="ce48"> </td><td style="text-align:left;width:2.542cm; " class="ce48"><p>2: nr_of_args</p></td><td style="text-align:left;width:3.595cm; " class="ce48"> </td><td style="text-align:left;width:15.307cm; " class="ce48"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>26</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>INVOKE_SUPER</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: opname</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0..n: arguments</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Dynamic method invocation of superclass, relative to current execution context</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce48"> </td><td style="text-align:left;width:3.468cm; " class="ce48"> </td><td style="text-align:left;width:2.542cm; " class="ce48"><p>2: nr_of_args</p></td><td style="text-align:left;width:3.595cm; " class="ce48"> </td><td style="text-align:left;width:15.307cm; " class="ce48"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:right; width:0.707cm; " class="ce49"><p>27</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>INVOKE_STATIC</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: opname</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0..n: arguments</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Static method invocation; first argument is a metaclass, or Java class for native static operations</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:left;width:0.707cm; " class="ce48"> </td><td style="text-align:left;width:3.468cm; " class="ce48"> </td><td style="text-align:left;width:2.542cm; " class="ce48"><p>2: nr_of_args</p></td><td style="text-align:left;width:3.595cm; " class="ce48"> </td><td style="text-align:left;width:15.307cm; " class="ce48"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce50"><p>28</p></td><td style="text-align:left;width:3.468cm; " class="ce51"><p>ALLINST</p></td><td style="text-align:left;width:2.542cm; " class="ce51"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce51"><p>0: type</p></td><td style="text-align:left;width:15.307cm; " class="ce51"><p>Finds all instances of the given type in all input models</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce50"><p>29</p></td><td style="text-align:left;width:3.468cm; " class="ce51"><p>ALLINST_IN</p></td><td style="text-align:left;width:2.542cm; " class="ce51"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce51"><p>0: type</p></td><td style="text-align:left;width:15.307cm; " class="ce51"><p>Finds all instances of the given type in given input model</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:left;width:0.707cm; " class="ce51"> </td><td style="text-align:left;width:3.468cm; " class="ce51"> </td><td style="text-align:left;width:2.542cm; " class="ce51"> </td><td style="text-align:left;width:3.595cm; " class="ce51"><p>1: modelname</p></td><td style="text-align:left;width:15.307cm; " class="ce51"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>30</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>ISNULL</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: value</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Pushes TRUE if value is null, FALSE otherwise</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:right; width:0.707cm; " class="ce49"><p>31</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>GETENVTYPE</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Pushes the ExecEnv type on the stack</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>32</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>NOT</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: boolean value</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Pushes TRUE if value is FALSE, FALSE otherwise</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:right; width:0.707cm; " class="ce49"><p>33</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>AND</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: code block #</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: first value</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Pushes the boolean AND result of the first value and the result of codeblock on the stack</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:right; width:0.707cm; " class="ce49"><p>34</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>OR</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: code block #</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: first value</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Pushes the boolean OR result of the first value and the result of codeblock on the stack</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>35</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>XOR</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: first value</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Pushes the boolean XOR result on the stack</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce49"> </td><td style="text-align:left;width:3.468cm; " class="ce48"> </td><td style="text-align:left;width:2.542cm; " class="ce48"> </td><td style="text-align:left;width:3.595cm; " class="ce48"><p>1: second value</p></td><td style="text-align:left;width:15.307cm; " class="ce48"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:right; width:0.707cm; " class="ce49"><p>36</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>IMPLIES</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: code block #</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: first value</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Pushes the boolean IMPLIES result of the first value and the result of codeblock on the stack</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:right; width:0.707cm; " class="ce49"><p>37</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>IFTE</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: then cb #</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: boolean value</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Executes “then” if TRUE, “else” otherwise</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:left;width:0.707cm; " class="ce48"> </td><td style="text-align:left;width:3.468cm; " class="ce48"> </td><td style="text-align:left;width:2.542cm; " class="ce48"><p>2: else cb #</p></td><td style="text-align:left;width:3.595cm; " class="ce48"> </td><td style="text-align:left;width:15.307cm; " class="ce48"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce52"><p>38</p></td><td style="text-align:left;width:3.468cm; " class="ce53"><p>RETURN</p></td><td style="text-align:left;width:2.542cm; " class="ce53"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce53"><p>-</p></td><td style="text-align:left;width:15.307cm; " class="ce53"><p>Returns from a code block</p></td><td style="text-align:left;width:2.267cm; " class="ce62"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>39</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>GETCB</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: code block #</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Pushes nested code block onto the stack (lambda expression)</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:right; width:0.707cm; " class="ce49"><p>40</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>INVOKE_ALL_CBS</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: nr_of_args</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0..n: arguments</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Invokes all nested code blocks and pushes results on the stack</p></td><td style="text-align:left;width:2.267cm; " class="ce62"> </td></tr><tr class="ro4"><td style="text-align:right; width:0.707cm; " class="ce49"><p>41</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>INVOKE_CB</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: code block #</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0..n: arguments</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Invokes nested code block (lambda expression)</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:left;width:0.707cm; " class="ce48"> </td><td style="text-align:left;width:3.468cm; " class="ce48"> </td><td style="text-align:left;width:2.542cm; " class="ce48"><p>2: nr_of_args</p></td><td style="text-align:left;width:3.595cm; " class="ce48"> </td><td style="text-align:left;width:15.307cm; " class="ce48"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:right; width:0.707cm; " class="ce52"><p>42</p></td><td style="text-align:left;width:3.468cm; " class="ce53"><p>INVOKE_CB_S</p></td><td style="text-align:left;width:2.542cm; " class="ce53"><p>1: nr_of_args</p></td><td style="text-align:left;width:3.595cm; " class="ce53"><p>0..n: arguments</p></td><td style="text-align:left;width:15.307cm; " class="ce53"><p>Invokes code block on stack (lambda expression)</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce53"> </td><td style="text-align:left;width:3.468cm; " class="ce53"> </td><td style="text-align:left;width:2.542cm; " class="ce53"> </td><td style="text-align:left;width:3.595cm; " class="Default"><p>n+1: code block</p></td><td style="text-align:left;width:15.307cm; " class="ce53"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:right; width:0.707cm; " class="ce50"><p>43</p></td><td style="text-align:left;width:3.468cm; " class="ce51"><p>MATCH</p></td><td style="text-align:left;width:2.542cm; " class="ce51"><p>1: rulename</p></td><td style="text-align:left;width:3.595cm; " class="ce51"><p>0..n: input elements</p></td><td style="text-align:left;width:15.307cm; " class="ce51"><p>Matches the given rule, and invokes the pre-apply code for each match</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:left;width:0.707cm; " class="ce50"> </td><td style="text-align:left;width:3.468cm; " class="ce51"> </td><td style="text-align:left;width:2.542cm; " class="ce51"><p>2: nr_of_args</p></td><td style="text-align:left;width:3.595cm; " class="ce51"> </td><td style="text-align:left;width:15.307cm; " class="ce51"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:right; width:0.707cm; " class="ce50"><p>44</p></td><td style="text-align:left;width:3.468cm; " class="ce51"><p>MATCH_S</p></td><td style="text-align:left;width:2.542cm; " class="ce51"><p>1: nr_of_args</p></td><td style="text-align:left;width:3.595cm; " class="ce51"><p>0..n: input elements</p></td><td style="text-align:left;width:15.307cm; " class="ce51"><p>Matches the rule on the stack, and invokes the pre-apply code for each match</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce50"> </td><td style="text-align:left;width:3.468cm; " class="ce51"> </td><td style="text-align:left;width:2.542cm; " class="ce51"> </td><td style="text-align:left;width:3.595cm; " class="ce60"><p>n+1: rule</p></td><td style="text-align:left;width:15.307cm; " class="ce51"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:right; width:0.707cm; " class="ce49"><p>45</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>ADD</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: propname</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: object</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Adds object property value</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce48"> </td><td style="text-align:left;width:3.468cm; " class="ce48"> </td><td style="text-align:left;width:2.542cm; " class="ce48"> </td><td style="text-align:left;width:3.595cm; " class="ce48"><p>1: value</p></td><td style="text-align:left;width:15.307cm; " class="ce48"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:right; width:0.707cm; " class="ce49"><p>46</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>REMOVE</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: propname</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: object</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Removes object property value</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce48"> </td><td style="text-align:left;width:3.468cm; " class="ce48"> </td><td style="text-align:left;width:2.542cm; " class="ce48"> </td><td style="text-align:left;width:3.595cm; " class="ce48"><p>1: value</p></td><td style="text-align:left;width:15.307cm; " class="ce48"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:right; width:0.707cm; " class="ce49"><p>47</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>INSERT</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: propname</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: object</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Adds object property value at the given index (starting at 0)</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce48"> </td><td style="text-align:left;width:3.468cm; " class="ce48"> </td><td style="text-align:left;width:2.542cm; " class="ce48"> </td><td style="text-align:left;width:3.595cm; " class="ce48"><p>1: value</p></td><td style="text-align:left;width:15.307cm; " class="ce48"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce48"> </td><td style="text-align:left;width:3.468cm; " class="ce48"> </td><td style="text-align:left;width:2.542cm; " class="ce48"> </td><td style="text-align:left;width:3.595cm; " class="ce48"><p>2: index</p></td><td style="text-align:left;width:15.307cm; " class="ce48"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:right; width:0.707cm; " class="ce48"><p>48</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>GET_SUPER</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>1: propname</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>0: object</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Get object property value of superclass onto stack</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro5"><td style="text-align:right; width:0.707cm; " class="ce48"><p>49</p></td><td style="text-align:left;width:3.468cm; " class="ce48"><p>GETENV</p></td><td style="text-align:left;width:2.542cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:3.595cm; " class="ce48"><p>-</p></td><td style="text-align:left;width:15.307cm; " class="ce48"><p>Pushes the ExecEnv instance on the stack</p></td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce54"> </td><td style="text-align:left;width:3.468cm; " class="Default"> </td><td style="text-align:left;width:2.542cm; " class="Default"> </td><td style="text-align:left;width:3.595cm; " class="Default"> </td><td style="text-align:left;width:15.307cm; " class="Default"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce55"> </td><td style="text-align:left;width:3.468cm; " class="ce58"><p>Instructions marked in grey are not (yet) used by any compiler for EMFTVM</p></td><td style="text-align:left;width:2.542cm; " class="ce59"> </td><td style="text-align:left;width:3.595cm; " class="ce59"> </td><td style="text-align:left;width:15.307cm; " class="ce61"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce54"> </td><td style="text-align:left;width:3.468cm; " class="Default"> </td><td style="text-align:left;width:2.542cm; " class="Default"> </td><td style="text-align:left;width:3.595cm; " class="Default"> </td><td style="text-align:left;width:15.307cm; " class="Default"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce54"> </td><td style="text-align:left;width:3.468cm; " class="Default"> </td><td style="text-align:left;width:2.542cm; " class="Default"> </td><td style="text-align:left;width:3.595cm; " class="Default"> </td><td style="text-align:left;width:15.307cm; " class="Default"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce54"> </td><td style="text-align:left;width:3.468cm; " class="Default"> </td><td style="text-align:left;width:2.542cm; " class="Default"> </td><td style="text-align:left;width:3.595cm; " class="Default"> </td><td style="text-align:left;width:15.307cm; " class="Default"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:0.707cm; " class="ce54"> </td><td style="text-align:left;width:3.468cm; " class="Default"> </td><td style="text-align:left;width:2.542cm; " class="Default"> </td><td style="text-align:left;width:3.595cm; " class="Default"> </td><td style="text-align:left;width:15.307cm; " class="Default"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td></tr></table><table border="0" cellspacing="0" cellpadding="0" class="ta4"><colgroup><col width="174"/><col width="288"/><col width="99"/><col width="561"/></colgroup><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce63"><p>EMF TVM file format</p></td><td style="text-align:left;width:6.592cm; " class="ce63"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Name</p></td><td style="text-align:left;width:6.592cm; " class="ce65"><p>Offset</p></td><td style="text-align:left;width:2.267cm; " class="ce65"><p>Length</p></td><td style="text-align:left;width:12.829cm; " class="ce57"><p>Comment</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Magic</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>0</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>6</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>“EMFTVM” in ASCII</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Version</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>6</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>2</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Short integer containing the version number starting at 1</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Cpcount</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>8</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Constant pool count = number of entries in the constant pool</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Constant pool</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>12</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>cpsize</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Constant pool table (see detailed description)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Module name</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>12+cpsize</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Reference to module name string in constant pool</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Source name</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>16+cpsize</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Reference to source file name in constant pool</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Input model count</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>20+cpsize</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of input models</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Input model table</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>24+cpsize</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>isz</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Table of model declarations (see detailed description)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Inout model count</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>24+cpsize+isz</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of input/output models</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Inout model table</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>28+cpsize+isz</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>iosz</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Table of model declarations (see detailed description)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Output model count</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>28+cpsize+isz+iosz</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of output models</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Output model table</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>32+cpsize+isz+iosz</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>osz</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Table of model declarations (see detailed description)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Import count</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>32+cpsize+isz+iosz+osz</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of imported modules</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Imports table</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>36+cpsize+isz+iosz+osz</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>itsize</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>List of name references of imported modules</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Feature count</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>36+cpsize+isz+iosz+osz+itsize</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of features (fields, operations)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Feature table</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>40+cpsize+isz+iosz+osz+itsize</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>fsize</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Feature table (see detailed description)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Rule count</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>40+cpsize+isz+iosz+osz+itsize+fsize</p></td><td style="text-align:right; width:2.267cm; " class="ce67"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of transformation rules</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Rule table</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>44+cpsize+isz+iosz+osz+itsize+fsize</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>rtsize</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Rule table (see detailed description)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce63"><p>Constant pool</p></td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Name</p></td><td style="text-align:left;width:6.592cm; " class="ce65"><p>Offset</p></td><td style="text-align:left;width:2.267cm; " class="ce65"><p>Length</p></td><td style="text-align:left;width:12.829cm; " class="ce57"><p>Comment</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Tag</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>0</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Constant type tag</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Value</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>vsize</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Constant value (size depends on tag)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Tag</p></td><td style="text-align:left;width:6.592cm; " class="ce65"><p>Size</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce65"><p>Description</p></td></tr><tr class="ro5"><td style="text-align:right; width:3.976cm; " class="ce66"><p>0</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>stringsize</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce69"><p><span class="T1"><a href="http://download.oracle.com/javase/6/docs/api/java/io/DataInput.html#modified-utf-8">String in modified UTF-8: http://download.oracle.com/javase/6/docs/api/java/io/DataInput.html#modified-utf-8</a></span></p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>1</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>4</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce66"><p>Integer (see DataInputStream.readInt())</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>2</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>8</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce66"><p>Double (see DataInputStream.readDouble())</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>3</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>1</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce66"><p>Byte</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>4</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>1</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce66"><p>Char</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>5</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>4</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce66"><p>Float</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>6</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>2</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce66"><p>Short</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>7</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>8</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce66"><p>Long</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>8</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>stringsize</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce66"><p>Enumeration literal encoded as a modified UTF-8 string</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>9</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>0</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce66"><p>Null</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce63"><p>Model declaration table</p></td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Name</p></td><td style="text-align:left;width:6.592cm; " class="ce65"><p>Offset</p></td><td style="text-align:left;width:2.267cm; " class="ce65"><p>Length</p></td><td style="text-align:left;width:12.829cm; " class="ce57"><p>Comment</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Model name</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>0</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Model name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Metamodel name</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>4</p></td><td style="text-align:right; width:2.267cm; " class="ce67"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Metamodel name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce63"><p>Feature table</p></td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce63"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Name</p></td><td style="text-align:left;width:6.592cm; " class="ce65"><p>Offset</p></td><td style="text-align:left;width:2.267cm; " class="ce65"><p>Length</p></td><td style="text-align:left;width:12.829cm; " class="ce57"><p>Comment</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Tag</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>0</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Feature type tag</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Feature description</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>fsize</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Feature (format depends on tag)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce70"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Tag</p></td><td style="text-align:left;width:6.592cm; " class="ce65"><p>Description</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce65"><p>Format</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>0</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>Field</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce67"><p>See field entry</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>1</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>StaticField</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce67"><p>See field entry</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>2</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>Operation</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce67"><p>See operation entry</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>3</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>StaticOperation</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce67"><p>See operation entry</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>QueryOperation</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce67"><p>See operation entry</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>5</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>StaticQueryOperation</p></td><td colspan="2" style="text-align:left;width:2.267cm; " class="ce67"><p>See operation entry</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce63"><p>Field entry</p></td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Name</p></td><td style="text-align:left;width:6.592cm; " class="ce65"><p>Offset</p></td><td style="text-align:left;width:2.267cm; " class="ce65"><p>Length</p></td><td style="text-align:left;width:12.829cm; " class="ce57"><p>Comment</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Field name</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>0</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Field name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Field type</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>4</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Field type name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Field type model</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>8</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Field type model name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Field context</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>12</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Field context type reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Field context model</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>16</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Field context type model name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Initialiser code block</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>20</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>csize</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Initialisation code block (see code block)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="Default"> </td><td style="text-align:left;width:6.592cm; " class="Default"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce63"><p>Operation entry</p></td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Name</p></td><td style="text-align:left;width:6.592cm; " class="ce65"><p>Offset</p></td><td style="text-align:left;width:2.267cm; " class="ce65"><p>Length</p></td><td style="text-align:left;width:12.829cm; " class="ce57"><p>Comment</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Operation name</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>0</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Operation name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Return type</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>4</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Operation return type reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Return type model</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>8</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Operation return type model name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Operation context</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>12</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Operation context type reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Operation context model</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>16</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Operation context type model name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Parameter count</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>20</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of parameters</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Parameter table</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>24</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>ptsize</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Parameter table (see static field table)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Code block</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>24+ptsize</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>csize</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Code block (see detailed description)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="Default"> </td><td style="text-align:left;width:6.592cm; " class="Default"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce63"><p>Code block</p></td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Name</p></td><td style="text-align:left;width:6.592cm; " class="ce65"><p>Offset</p></td><td style="text-align:left;width:2.267cm; " class="ce65"><p>Length</p></td><td style="text-align:left;width:12.829cm; " class="ce57"><p>Comment</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce67"><p>Max. locals</p></td><td style="text-align:right; width:6.592cm; " class="ce67"><p>0</p></td><td style="text-align:right; width:2.267cm; " class="ce67"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce71"><p>Maximum number of local variables (-1 if unknown)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce67"><p>Max. stack size</p></td><td style="text-align:right; width:6.592cm; " class="ce67"><p>4</p></td><td style="text-align:right; width:2.267cm; " class="ce67"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce71"><p>Maximum number of stack elements (-1 if unknown)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Local variable count</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>8</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of local variables</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Local variable table</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>12</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>lvsize</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Local variable table (see detailed description)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Line number count</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>12+lvsize</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of line number table entries</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Line number table</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>16+lvsize</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>lnsize</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Line number table (see detailed description)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Nested code block count</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>16+lvsize+lnsize</p></td><td style="text-align:right; width:2.267cm; " class="ce67"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of nested code blocks</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Nested code blocks</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>20+lvsize+lnsize</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>nsize</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Nested code blocks</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Instruction count</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>20+lvsize+lnsize+nsize</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of instructions</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Instruction list</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>24+lvsize_lnsize+nsize</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>isize</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>List of instructions (see detailed description)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce70"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce63"><p>Instruction list</p></td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Name</p></td><td style="text-align:left;width:6.592cm; " class="ce65"><p>Offset</p></td><td style="text-align:left;width:2.267cm; " class="ce65"><p>Length</p></td><td style="text-align:left;width:12.829cm; " class="ce57"><p>Comment</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce67"><p>Line number index</p></td><td style="text-align:right; width:6.592cm; " class="ce67"><p>0</p></td><td style="text-align:right; width:2.267cm; " class="ce67"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce71"><p>Line number table index, or -1 if no line number available</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Opcode</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>4</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Instruction (see opcode reference)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Parameter 1</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>8</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>First parameter (depends on instruction)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Parameter 2</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>12</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Second parameter (depends on instruction)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p></p></td><td style="text-align:left;width:6.592cm; " class="ce66"> </td><td style="text-align:left;width:2.267cm; " class="ce66"> </td><td style="text-align:left;width:12.829cm; " class="ce48"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce63"><p>Line number table</p></td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Name</p></td><td style="text-align:left;width:6.592cm; " class="ce65"><p>Offset</p></td><td style="text-align:left;width:2.267cm; " class="ce65"><p>Length</p></td><td style="text-align:left;width:12.829cm; " class="ce57"><p>Comment</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce67"><p>Start line</p></td><td style="text-align:right; width:6.592cm; " class="ce67"><p>0</p></td><td style="text-align:right; width:2.267cm; " class="ce67"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce71"><p>Start line number</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce67"><p>Start column</p></td><td style="text-align:right; width:6.592cm; " class="ce67"><p>4</p></td><td style="text-align:right; width:2.267cm; " class="ce67"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce71"><p>Start column number</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce67"><p>End line</p></td><td style="text-align:right; width:6.592cm; " class="ce67"><p>8</p></td><td style="text-align:right; width:2.267cm; " class="ce67"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce71"><p>End line number</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce67"><p>End column</p></td><td style="text-align:right; width:6.592cm; " class="ce67"><p>12</p></td><td style="text-align:right; width:2.267cm; " class="ce67"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce71"><p>End column number</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce67"><p>Start character</p></td><td style="text-align:right; width:6.592cm; " class="ce67"><p>16</p></td><td style="text-align:right; width:2.267cm; " class="ce67"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce71"><p>Start character in the source file stream</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce67"><p>End character</p></td><td style="text-align:right; width:6.592cm; " class="ce67"><p>20</p></td><td style="text-align:right; width:2.267cm; " class="ce67"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce71"><p>End character in the source file stream</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce63"><p>Local variable table</p></td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Name</p></td><td style="text-align:left;width:6.592cm; " class="ce65"><p>Offset</p></td><td style="text-align:left;width:2.267cm; " class="ce65"><p>Length</p></td><td style="text-align:left;width:12.829cm; " class="ce57"><p>Comment</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Slot</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>0</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Variable slot number (starting at 0)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Name</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>4</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Variable name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Type</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>8</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Type name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Start instruction</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>12</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Start instruction offset</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>End instruction</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>16</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>End instruction offset</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce56"><p>Rule table</p></td><td style="text-align:left;width:6.592cm; " class="Default"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="Default"> </td><td style="text-align:left;width:6.592cm; " class="Default"> </td><td style="text-align:left;width:2.267cm; " class="Default"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Name</p></td><td style="text-align:left;width:6.592cm; " class="ce65"><p>Offset</p></td><td style="text-align:left;width:2.267cm; " class="ce65"><p>Length</p></td><td style="text-align:left;width:12.829cm; " class="ce57"><p>Comment</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Rule name</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>0</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Rule name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Rule mode</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>4</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Rule mode code (see detailed description)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Abstract</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>8</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Whether the rule is abstract (1 or 0)</p></td></tr><tr class="ro5"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Trace mode</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>12</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Trace mode bitset (see detailed description)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>DistinctElements</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>16</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Whether the rule matches distinct input elements (1 or 0)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Input element count</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>20</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of input model elements</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Input element table</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>24</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>iesz</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Input model element table (see detailed description)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Output element count</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>24+iesz</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of output model elements</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Output element table</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>28+iesz</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>oesz</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Output model element table (see output element table)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Super-rule count</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>28+iesz+oesz</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of super-rules</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Super-rule table</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>32+iesz+oesz</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>srsz</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Super-rule table (list of super-rule name references)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Rule field count</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>32+iesz+oesz+srsz</p></td><td style="text-align:right; width:2.267cm; " class="ce67"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of rule fields</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Rule field table</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>36+iesz+oesz+srsz</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>fsz</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Rule field table (see feature table)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Matcher count</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>36+iesz+oesz+srsz+fsz</p></td><td style="text-align:right; width:2.267cm; " class="ce67"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of matcher code blocks to follow (0 or 1)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Matcher code block</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>40+iesz+oesz+srsz+fsz</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>msz</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Matcher code block (see code block)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Applier count</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>40+iesz+oesz+srsz+fsz+msz</p></td><td style="text-align:right; width:2.267cm; " class="ce67"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of applier code blocks to follow (0 or 1)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Applier code block</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>44+iesz+oesz+srsz+fsz+msz</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>asz</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Applier code block (see code block)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Post-apply count</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>44+iesz+oesz+srsz+fsz+msz+asz</p></td><td style="text-align:right; width:2.267cm; " class="ce67"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of post-apply code blocks to follow (0 or 1)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Post-apply code block</p></td><td style="text-align:left;width:6.592cm; " class="ce66"><p>48+iesz+oesz+srsz+fsz+msz+asz</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>psz</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Post-apply code block (see code block)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Rule mode</p></td><td colspan="3" style="text-align:left;width:6.592cm; " class="ce65"><p>Comment</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>0</p></td><td colspan="3" style="text-align:left;width:6.592cm; " class="ce66"><p>Manual application</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>1</p></td><td colspan="3" style="text-align:left;width:6.592cm; " class="ce66"><p>Automatic single application</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>2</p></td><td colspan="3" style="text-align:left;width:6.592cm; " class="ce66"><p>Automatic recursive application (priority given by rule order of appearance)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Trace mode</p></td><td colspan="3" style="text-align:left;width:6.592cm; " class="ce65"><p>Comment (any combination of the bit values below can occur)</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>0</p></td><td colspan="3" style="text-align:left;width:6.592cm; " class="ce66"><p>Standard trace</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>1</p></td><td colspan="3" style="text-align:left;width:6.592cm; " class="ce66"><p>Default trace</p></td></tr><tr class="ro4"><td style="text-align:right; width:3.976cm; " class="ce66"><p>2</p></td><td colspan="3" style="text-align:left;width:6.592cm; " class="ce66"><p>Unique trace</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce63"><p>Input element table</p></td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Name</p></td><td style="text-align:left;width:6.592cm; " class="ce65"><p>Offset</p></td><td style="text-align:left;width:2.267cm; " class="ce65"><p>Length</p></td><td style="text-align:left;width:12.829cm; " class="ce57"><p>Comment</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Element name</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>0</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Input element name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Element type</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>4</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Input element type reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Element type model</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>8</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Input element type model name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Maps to self</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>12</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Whether input element trace maps to itself (0 or 1)</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Element model count</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>16</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Number of input element models</p></td></tr><tr class="ro5"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Element models</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>20</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>iemsz</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Input element model name references</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce63"><p>Output element table</p></td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce65"><p>Name</p></td><td style="text-align:left;width:6.592cm; " class="ce65"><p>Offset</p></td><td style="text-align:left;width:2.267cm; " class="ce65"><p>Length</p></td><td style="text-align:left;width:12.829cm; " class="ce57"><p>Comment</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Element name</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>0</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Element name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Element type</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>4</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Element type reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Element type model</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>8</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Element type model name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Element model</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>12</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Element model name reference</p></td></tr><tr class="ro4"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Maps to element count</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>16</p></td><td style="text-align:right; width:2.267cm; " class="ce66"><p>4</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Source element mapping count</p></td></tr><tr class="ro5"><td style="text-align:left;width:3.976cm; " class="ce66"><p>Maps to elements</p></td><td style="text-align:right; width:6.592cm; " class="ce66"><p>20</p></td><td style="text-align:left;width:2.267cm; " class="ce68"><p>mtsz</p></td><td style="text-align:left;width:12.829cm; " class="ce48"><p>Source element mapping name references</p></td></tr><tr class="ro5"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr><tr class="ro7"><td style="text-align:left;width:3.976cm; " class="ce64"> </td><td style="text-align:left;width:6.592cm; " class="ce64"> </td><td style="text-align:left;width:2.267cm; " class="ce64"> </td><td style="text-align:left;width:12.829cm; " class="Default"> </td></tr></table><table border="0" cellspacing="0" cellpadding="0" class="ta3"><colgroup><col width="93"/><col width="344"/></colgroup><tr class="ro1"><td style="text-align:left;width:2.122cm; " class="ce63"><p>EMF TVM native types</p></td><td style="text-align:left;width:7.869cm; " class="Default"> </td></tr><tr class="ro1"><td style="text-align:left;width:2.122cm; " class="Default"> </td><td style="text-align:left;width:7.869cm; " class="Default"> </td></tr><tr class="ro1"><td style="text-align:left;width:2.122cm; " class="ce65"><p>Name</p></td><td style="text-align:left;width:7.869cm; " class="ce65"><p>Java class</p></td></tr><tr class="ro1"><td style="text-align:left;width:2.122cm; " class="ce48"><p>Object</p></td><td style="text-align:left;width:7.869cm; " class="ce48"><p>java.lang.Object</p></td></tr><tr class="ro1"><td style="text-align:left;width:2.122cm; " class="ce48"><p>Collection</p></td><td style="text-align:left;width:7.869cm; " class="ce48"><p>org.eclipse.m2m.atl.emftvm.util.LazyCollection</p></td></tr><tr class="ro1"><td style="text-align:left;width:2.122cm; " class="ce48"><p>Bag</p></td><td style="text-align:left;width:7.869cm; " class="ce48"><p>org.eclipse.m2m.atl.emftvm.util.LazyBag</p></td></tr><tr class="ro1"><td style="text-align:left;width:2.122cm; " class="ce48"><p>Sequence</p></td><td style="text-align:left;width:7.869cm; " class="ce48"><p>org.eclipse.m2m.atl.emftvm.util.LazyList</p></td></tr><tr class="ro1"><td style="text-align:left;width:2.122cm; " class="ce48"><p>Set</p></td><td style="text-align:left;width:7.869cm; " class="ce48"><p>org.eclipse.m2m.atl.emftvm.util.LazySet</p></td></tr><tr class="ro1"><td style="text-align:left;width:2.122cm; " class="ce48"><p>OrderedSet</p></td><td style="text-align:left;width:7.869cm; " class="ce48"><p>org.eclipse.m2m.atl.emftvm.util.LazyOrderedSet</p></td></tr><tr class="ro3"><td style="text-align:left;width:2.122cm; " class="ce48"><p>Map</p></td><td style="text-align:left;width:7.869cm; " class="ce48"><p>java.util.Map</p></td></tr><tr class="ro1"><td style="text-align:left;width:2.122cm; " class="ce48"><p>Tuple</p></td><td style="text-align:left;width:7.869cm; " class="ce48"><p>org.eclipse.m2m.atl.emftvm.util.Tuple</p></td></tr><tr class="ro1"><td style="text-align:left;width:2.122cm; " class="ce48"><p>Boolean</p></td><td style="text-align:left;width:7.869cm; " class="ce48"><p>java.lang.Boolean</p></td></tr><tr class="ro1"><td style="text-align:left;width:2.122cm; " class="ce48"><p>Integer</p></td><td style="text-align:left;width:7.869cm; " class="ce48"><p>java.lang.Integer</p></td></tr><tr class="ro1"><td style="text-align:left;width:2.122cm; " class="ce48"><p>Real</p></td><td style="text-align:left;width:7.869cm; " class="ce48"><p>java.lang.Double</p></td></tr><tr class="ro1"><td style="text-align:left;width:2.122cm; " class="ce48"><p>String</p></td><td style="text-align:left;width:7.869cm; " class="ce48"><p>java.lang.String</p></td></tr></table></body></html>