Changes between Version 5 and Version 6 of AST Schema


Ignore:
Timestamp:
12/21/11 15:36:46 (14 years ago)
Author:
stachnik
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AST Schema

    v5 v6  
    2929}}}
    3030
    31  * Schema
    32 {{{
    33 #!xml
    34 
    35 
    36 <?xml version="1.0"?>
    37 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    38            targetNamespace="http://vsl.cis.udel.edu/ns/tass/tass_ast"
    39            xmlns:tl="http://vsl.cis.udel.edu/ns/tass/tass_ast"
    40            xmlns:rtn="http://vsl.cis.udel.edu/ns/tass/RootNode"
    41            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    42            xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    43            xmlns:fdn="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode"
    44            xmlns:ben="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode"
    45            xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode"
    46            xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode"
    47            xmlns:ln="http://vsl.cis.udel.edu/ns/tass/LabelNode"
    48            xmlns:fvn="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode"
    49            xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode"
    50            xmlns:fin="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode"
    51            xmlns:frn="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode"
    52            xmlns:asrn="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode"
    53            xmlns:on="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode"
    54            xmlns:btn="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode"
    55            xmlns:file="http://vsl.cis.udel.edu/ns/tass/File"
    56            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    57            xmlns:gvdn="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode"
    58            xmlns:lvdn="http://vsl.cis.udel.edu/ns/tass/declaration/LocalVariableDeclarationNode"
    59            xmlns:bln="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode"
    60            xmlns:bvn="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode"
    61            xmlns:trn="http://vsl.cis.udel.edu/ns/tass/type/TypeReferenceNode"
    62            elementFormDefault="qualified">
    63 
    64   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/RootNode"
    65              schemaLocation="RootNode.xsd" />
    66   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    67              schemaLocation="ASTNode.xsd" />
    68   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode"
    69              schemaLocation="statement/expression/BindingExpressionNode.xsd" />
    70   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode"
    71              schemaLocation="statement/expression/RealLiteralNode.xsd" />
    72   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode"
    73              schemaLocation="type/IntegerTypeNode.xsd" />
    74   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode"
    75             schemaLocation="type/VoidTypeNode.xsd" />
    76   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode"
    77              schemaLocation="statement/expression/AssignmentNode.xsd" />
    78   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode"
    79              schemaLocation="statement/ReturnNode.xsd" />
    80   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode"
    81              schemaLocation="statement/expression/IntegerLiteralNode.xsd" />
    82   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode"
    83              schemaLocation="type/PointerTypeNode.xsd" />
    84   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode"
    85              schemaLocation="statement/expression/FunctionInvocationNode.xsd" />
    86   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode"
    87              schemaLocation="statement/expression/FunctionReferenceNode.xsd" />
    88   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode"
    89              schemaLocation="statement/AssertStatementNode.xsd" />
    90   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode"
    91              schemaLocation="statement/expression/OperatorNode.xsd" />
    92   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode"
    93              schemaLocation="type/BooleanTypeNode.xsd" />
    94   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/File"
    95              schemaLocation="File.xsd" />
    96   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc"
    97              schemaLocation="misc.xsd" />
    98   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode"
    99              schemaLocation="declaration/GlobalVariableDeclarationNode.xsd" />
    100   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/LocalVariableDeclarationNode"
    101              schemaLocation="declaration/LocalVariableDeclarationNode.xsd" />
    102   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode"
    103              schemaLocation="statement/BlockNode.xsd" />
    104   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode"
    105              schemaLocation="declaration/BoundVariableDeclarationNode.xsd" />
    106   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeReferenceNode"
    107              schemaLocation="type/TypeReferenceNode.xsd" />
    108   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    109              schemaLocation="type/TypeNode.xsd" />
    110   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode"
    111              schemaLocation="statement/expression/SubscriptNode.xsd" />
    112   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode"
    113              schemaLocation="statement/ForLoopNode.xsd" />
    114   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode"
    115              schemaLocation="statement/expression/IncrementNode.xsd" />
    116   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode"
    117              schemaLocation="statement/expression/IncrementNode.xsd" />
    118   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode"
    119              schemaLocation="type/RealTypeNode.xsd" />
    120   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode"
    121              schemaLocation="statement/PragmaNode.xsd" />
    122   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode"
    123              schemaLocation="type/ArrayTypeNode.xsd" />
    124 
    125   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode"
    126              schemaLocation="type/CompositeTypeNode.xsd" />
    127   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode"
    128              schemaLocation="TypeDefinitionNode.xsd" />
    129   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode"
    130              schemaLocation="statement/IfThenElseStatementNode.xsd" />
    131 
    132 
    133   <xs:element name="rootNode" type="rtn:RootNode">
    134 
    135     <xs:unique name="uniqueStatementIds">
    136       <xs:selector xpath=".//stn:id" />
    137       <xs:field xpath="." />
    138     </xs:unique>
    139 
    140     <xs:keyref name="strefs"
    141                refer="tl:uniqueStatementIds">
    142       <xs:selector xpath=".//ln:stref" />
    143       <xs:field xpath="." />
    144     </xs:keyref>
    145 
    146     <xs:unique name="uniqueFunctionRefs">
    147       <xs:selector xpath=".//fdn:id" />
    148       <xs:field xpath="." />
    149     </xs:unique>
    150 
    151     <xs:keyref name="frefs"
    152                refer="tl:uniqueFunctionRefs">
    153       <xs:selector xpath=".//fvn:fref" />
    154       <xs:field xpath="." />
    155     </xs:keyref>
    156 
    157     <xs:keyref name="rrefs"
    158                refer="tl:uniqueFunctionRefs">
    159       <xs:selector xpath=".//frn:rref" />
    160       <xs:field xpath="." />
    161     </xs:keyref>
    162 
    163     <xs:keyref name="rtnFunctionRefs"
    164                refer="tl:uniqueFunctionRefs">
    165       <xs:selector xpath=".//rtn:mainFunction" />
    166       <xs:field xpath="." />
    167     </xs:keyref>
    168 
    169     <xs:unique name="uniqueVariableRefs">
    170       <xs:selector xpath=".//vdn:id" />
    171       <xs:field xpath="." />
    172     </xs:unique>
    173 
    174     <!--
    175         Commented out until issues regarding MI in
    176         GlobalVariableDeclarationNodes are resolved
    177     <xs:keyref name="vrefs"
    178                refer="tl:uniqueVariableRefs">
    179       <xs:selector xpath=".//vrn:vref" />
    180       <xs:field xpath="." />
    181     </xs:keyref> -->
    182 
    183     <xs:keyref name="gVariableRefs"
    184                refer="tl:uniqueVariableRefs">
    185       <xs:selector xpath=".//gvdn:dref" />
    186       <xs:field xpath="." />
    187     </xs:keyref>
    188 
    189     <xs:unique name="uniqueFileRefs">
    190       <xs:selector xpath=".//file:id" />
    191       <xs:field xpath="." />
    192     </xs:unique>
    193 
    194     <xs:keyref name="fileRefs"
    195                refer="tl:uniqueFileRefs">
    196       <xs:selector xpath=".//astnode:source" />
    197       <xs:field xpath="@fileRef" />
    198     </xs:keyref>
    199 
    200     <xs:unique name="uniqueBlockRefs">
    201       <xs:selector xpath=".//bln:id" />
    202       <xs:field xpath="." />
    203     </xs:unique>
    204 
    205     <xs:keyref name="brefs"
    206                refer="tl:uniqueBlockRefs">
    207       <xs:selector xpath=".//lvdn:bref" />
    208       <xs:field xpath="." />
    209     </xs:keyref>
    210 
    211     <xs:unique name="uniqueBindingExpressionRefs">
    212       <xs:selector xpath=".//ben:ubeid" />
    213       <xs:field xpath="." />
    214     </xs:unique>
    215 
    216     <xs:keyref name="bindingExpressionrefs"
    217                refer="tl:uniqueBindingExpressionRefs">
    218       <xs:selector xpath=".//bvn:beref" />
    219       <xs:field xpath="." />
    220     </xs:keyref>
    221 
    222     <xs:unique name="uniqueTypeIds">
    223       <xs:selector xpath=".//tyn:id" />
    224       <xs:field xpath="." />
    225     </xs:unique>
    226 
    227     <xs:keyref name="uniqueTypeRefs"
    228                refer="tl:uniqueTypeIds">
    229       <xs:selector xpath=".//trn:typeRef" />
    230       <xs:field xpath="." />
    231     </xs:keyref>
    232 
    233   </xs:element>
    234 
    235 </xs:schema>
    236 
    237 <?xml version="1.0"?>
    238 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    239            targetNamespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    240            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    241            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    242            elementFormDefault="qualified">
    243 
    244   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc"
    245              schemaLocation="misc.xsd" />
    246  
    247   <xs:complexType name="ASTNode">
    248     <xs:sequence>
    249       <xs:element name="source"
    250                   type="misc:Source"
    251                   minOccurs="0"
    252                   maxOccurs="1" />
    253     </xs:sequence>
    254   </xs:complexType>
    255  
    256 </xs:schema>
    257 
    258 <?xml version="1.0"?>
    259 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    260            targetNamespace="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode"
    261            xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode"
    262            xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    263            xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    264            elementFormDefault="qualified">
    265 
    266   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode"
    267              schemaLocation="GlobalScopeNode.xsd" />
    268   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    269              schemaLocation="IdentifierNode.xsd" />
    270   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    271              schemaLocation="type/TypeNode.xsd" />
    272 
     31 * {{{ SequenceNode.xsd }}}
     32{{{
     33#!xml
     34<?xml version="1.0"?>
     35<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:file="http://vsl.cis.udel.edu/ns/tass/FileNode" xmlns:fvdn="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" xmlns:lbln="http://vsl.cis.udel.edu/ns/tass/LabelNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:pnn="http://vsl.cis.udel.edu/ns/tass/PairNode" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode">
     36  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="statement/expression/ExpressionNode.xsd"/>
     37  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/FileNode" schemaLocation="FileNode.xsd"/>
     38  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" schemaLocation="declaration/FormalVariableDeclarationNode.xsd"/>
     39  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" schemaLocation="GlobalScopeNode.xsd"/>
     40  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/LabelNode" schemaLocation="LabelNode.xsd"/>
     41  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
     42  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/PairNode" schemaLocation="PairNode.xsd"/>
     43  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="statement/StatementNode.xsd"/>
     44  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" schemaLocation="declaration/VariableDeclarationNode.xsd"/>
     45  <xs:group name="_ExpressionNodesGroup">
     46    <xs:sequence>
     47      <xs:element name="id_ExpressionNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
     48      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     49      <xs:sequence maxOccurs="unbounded">
     50        <xs:element name="child" type="exn:ExpressionNode" minOccurs="0" maxOccurs="1"/>
     51      </xs:sequence>
     52    </xs:sequence>
     53  </xs:group>
     54  <xs:group name="_FileNodesGroup">
     55    <xs:sequence>
     56      <xs:element name="id_FileNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
     57      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     58      <xs:sequence maxOccurs="unbounded">
     59        <xs:element name="child" type="file:FileNode" minOccurs="0" maxOccurs="1"/>
     60      </xs:sequence>
     61    </xs:sequence>
     62  </xs:group>
     63  <xs:group name="_FormalVariableDeclarationNodesGroup">
     64    <xs:sequence>
     65      <xs:element name="id_FormalVariableDeclarationNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
     66      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     67      <xs:sequence maxOccurs="unbounded">
     68        <xs:element name="child" type="fvdn:FormalVariableDeclarationNode" minOccurs="0" maxOccurs="1"/>
     69      </xs:sequence>
     70    </xs:sequence>
     71  </xs:group>
     72  <xs:group name="_GlobalScopeNodesGroup">
     73    <xs:sequence>
     74      <xs:element name="id_GlobalScopeNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
     75      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     76      <xs:sequence maxOccurs="unbounded">
     77        <xs:element name="child" type="gsn:GlobalScopeNode" minOccurs="0" maxOccurs="1"/>
     78      </xs:sequence>
     79    </xs:sequence>
     80  </xs:group>
     81  <xs:group name="_LabelNodesGroup">
     82    <xs:sequence>
     83      <xs:element name="id_LabelNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
     84      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     85      <xs:sequence maxOccurs="unbounded">
     86        <xs:element name="child" type="lbln:LabelNode" minOccurs="0" maxOccurs="1"/>
     87      </xs:sequence>
     88    </xs:sequence>
     89  </xs:group>
     90  <xs:group name="_StatementNodesGroup">
     91    <xs:sequence>
     92      <xs:element name="id_StatementNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
     93      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     94      <xs:sequence maxOccurs="unbounded">
     95        <xs:element name="child" type="stn:StatementNode" minOccurs="0" maxOccurs="1"/>
     96      </xs:sequence>
     97    </xs:sequence>
     98  </xs:group>
     99  <xs:group name="_VariableDeclarationNodesGroup">
     100    <xs:sequence>
     101      <xs:element name="id_VariableDeclarationNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
     102      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     103      <xs:sequence maxOccurs="unbounded">
     104        <xs:element name="child" type="vdn:VariableDeclarationNode" minOccurs="0" maxOccurs="1"/>
     105      </xs:sequence>
     106    </xs:sequence>
     107  </xs:group>
     108  <xs:group name="_PairNode_IdentifierNode_TypeNodesGroup">
     109    <xs:sequence>
     110      <xs:element name="id_PairNode_IdentifierNode_TypeNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
     111      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     112      <xs:sequence maxOccurs="unbounded">
     113        <xs:element name="child" type="pnn:PairNode_IdentifierNode_TypeNode" minOccurs="0" maxOccurs="1"/>
     114      </xs:sequence>
     115    </xs:sequence>
     116  </xs:group>
     117  <xs:complexType name="ExpressionNodes">
     118    <xs:choice>
     119      <xs:group ref="seq:_ExpressionNodesGroup"/>
     120    </xs:choice>
     121  </xs:complexType>
     122  <xs:complexType name="FileNodes">
     123    <xs:choice>
     124      <xs:group ref="seq:_FileNodesGroup"/>
     125    </xs:choice>
     126  </xs:complexType>
     127  <xs:complexType name="FormalVariableDeclarationNodes">
     128    <xs:choice>
     129      <xs:group ref="seq:_FormalVariableDeclarationNodesGroup"/>
     130    </xs:choice>
     131  </xs:complexType>
     132  <xs:complexType name="GlobalScopeNodes">
     133    <xs:choice>
     134      <xs:group ref="seq:_GlobalScopeNodesGroup"/>
     135    </xs:choice>
     136  </xs:complexType>
     137  <xs:complexType name="LabelNodes">
     138    <xs:choice>
     139      <xs:group ref="seq:_LabelNodesGroup"/>
     140    </xs:choice>
     141  </xs:complexType>
     142  <xs:complexType name="StatementNodes">
     143    <xs:choice>
     144      <xs:group ref="seq:_StatementNodesGroup"/>
     145    </xs:choice>
     146  </xs:complexType>
     147  <xs:complexType name="VariableDeclarationNodes">
     148    <xs:choice>
     149      <xs:group ref="seq:_VariableDeclarationNodesGroup"/>
     150    </xs:choice>
     151  </xs:complexType>
     152  <xs:complexType name="PairNode_IdentifierNode_TypeNodes">
     153    <xs:choice>
     154      <xs:group ref="seq:_PairNode_IdentifierNode_TypeNodesGroup"/>
     155    </xs:choice>
     156  </xs:complexType>
     157</xs:schema>
     158}}}
     159 * {{{ statement/ForLoopNode.xsd }}}
     160{{{
     161#!xml
     162<?xml version="1.0"?>
     163<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fln="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode">
     164  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="../statement/expression/ExpressionNode.xsd"/>
     165  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../misc.xsd"/>
     166  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" schemaLocation="../statement/expression/PureExpressionNode.xsd"/>
     167  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../SequenceNode.xsd"/>
     168  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="../statement/StatementNode.xsd"/>
     169  <xs:group name="_ForLoopNodeGroup">
     170    <xs:sequence>
     171      <xs:element name="id_ForLoopNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     172      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     173      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     174      <xs:element name="body" type="stn:StatementNode" minOccurs="1" maxOccurs="1"/>
     175      <xs:element name="invariants" type="pen:PureExpressionNode" minOccurs="0" maxOccurs="1"/>
     176      <xs:element name="initializer" type="stn:StatementNode" minOccurs="1" maxOccurs="1"/>
     177      <xs:element name="condition" type="exn:ExpressionNode" minOccurs="1" maxOccurs="1"/>
     178      <xs:element name="incrementer" type="stn:StatementNode" minOccurs="1" maxOccurs="1"/>
     179    </xs:sequence>
     180  </xs:group>
     181  <xs:complexType name="ForLoopNode">
     182    <xs:choice>
     183      <xs:group ref="fln:_ForLoopNodeGroup"/>
     184    </xs:choice>
     185  </xs:complexType>
     186</xs:schema>
     187}}}
     188 * {{{ statement/IfThenElseStatementNode.xsd }}}
     189{{{
     190#!xml
     191<?xml version="1.0"?>
     192<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ite="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode">
     193  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="../statement/expression/ExpressionNode.xsd"/>
     194  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../misc.xsd"/>
     195  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../SequenceNode.xsd"/>
     196  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="../statement/StatementNode.xsd"/>
     197  <xs:group name="_IfThenElseStatementNodeGroup">
     198    <xs:sequence>
     199      <xs:element name="id_IfThenElseStatementNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     200      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     201      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     202      <xs:element name="condition" type="exn:ExpressionNode" minOccurs="1" maxOccurs="1"/>
     203      <xs:element name="trueBranch" type="stn:StatementNode" minOccurs="1" maxOccurs="1"/>
     204      <xs:element name="falseBranch" type="stn:StatementNode" minOccurs="0" maxOccurs="1"/>
     205    </xs:sequence>
     206  </xs:group>
     207  <xs:complexType name="IfThenElseStatementNode">
     208    <xs:choice>
     209      <xs:group ref="ite:_IfThenElseStatementNodeGroup"/>
     210    </xs:choice>
     211  </xs:complexType>
     212</xs:schema>
     213}}}
     214 * {{{ statement/LoopNode.xsd }}}
     215{{{
     216#!xml
     217<?xml version="1.0"?>
     218<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:loopn="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode" xmlns:fln="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode">
     219  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" schemaLocation="../statement/ForLoopNode.xsd"/>
     220  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../misc.xsd"/>
     221  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" schemaLocation="../statement/expression/PureExpressionNode.xsd"/>
     222  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../SequenceNode.xsd"/>
     223  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="../statement/StatementNode.xsd"/>
     224  <xs:group name="_LoopNodeGroup">
     225    <xs:sequence>
     226      <xs:element name="id_LoopNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     227      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     228      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     229      <xs:element name="body" type="stn:StatementNode" minOccurs="1" maxOccurs="1"/>
     230      <xs:element name="invariants" type="pen:PureExpressionNode" minOccurs="0" maxOccurs="1"/>
     231    </xs:sequence>
     232  </xs:group>
     233  <xs:complexType name="LoopNode">
     234    <xs:choice>
     235      <xs:group ref="loopn:_LoopNodeGroup"/>
     236      <xs:group ref="fln:_ForLoopNodeGroup"/>
     237    </xs:choice>
     238  </xs:complexType>
     239</xs:schema>
     240}}}
     241 * {{{ statement/AssertStatementNode.xsd }}}
     242{{{
     243#!xml
     244<?xml version="1.0"?>
     245<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:asrn="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
     246  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="../statement/expression/ExpressionNode.xsd"/>
     247  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../misc.xsd"/>
     248  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../SequenceNode.xsd"/>
     249  <xs:group name="_AssertStatementNodeGroup">
     250    <xs:sequence>
     251      <xs:element name="id_AssertStatementNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     252      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     253      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     254      <xs:element name="predicate" type="exn:ExpressionNode" minOccurs="1" maxOccurs="1"/>
     255    </xs:sequence>
     256  </xs:group>
     257  <xs:complexType name="AssertStatementNode">
     258    <xs:choice>
     259      <xs:group ref="asrn:_AssertStatementNodeGroup"/>
     260    </xs:choice>
     261  </xs:complexType>
     262</xs:schema>
     263}}}
     264 * {{{ statement/expression/OperatorNode.xsd }}}
     265{{{
     266#!xml
     267<?xml version="1.0"?>
     268<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:on="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
     269  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="../../statement/expression/ExpressionNode.xsd"/>
     270  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../../misc.xsd"/>
     271  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
     272  <xs:group name="_OperatorNodeGroup">
     273    <xs:sequence>
     274      <xs:element name="id_OperatorNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     275      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     276      <xs:element name="operator" type="misc:AST_OPERATOR" minOccurs="1" maxOccurs="1"/>
     277      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     278      <xs:element name="argument" type="exn:ExpressionNode" minOccurs="1" maxOccurs="3"/>
     279    </xs:sequence>
     280  </xs:group>
     281  <xs:complexType name="OperatorNode">
     282    <xs:choice>
     283      <xs:group ref="on:_OperatorNodeGroup"/>
     284    </xs:choice>
     285  </xs:complexType>
     286</xs:schema>
     287}}}
     288 * {{{ statement/expression/VariableReferenceNode.xsd }}}
     289{{{
     290#!xml
     291<?xml version="1.0"?>
     292<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode">
     293  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../../misc.xsd"/>
     294  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
     295  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" schemaLocation="../../declaration/VariableDeclarationNode.xsd"/>
     296  <xs:group name="_VariableReferenceNodeGroup">
     297    <xs:sequence>
     298      <xs:element name="id_VariableReferenceNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     299      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     300      <xs:element name="identifier" type="xs:string" minOccurs="1" maxOccurs="1"/>
     301      <xs:element name="vdn_referent" type="xs:int" minOccurs="1" maxOccurs="1"/>
     302      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     303    </xs:sequence>
     304  </xs:group>
     305  <xs:complexType name="VariableReferenceNode">
     306    <xs:choice>
     307      <xs:group ref="vrn:_VariableReferenceNodeGroup"/>
     308    </xs:choice>
     309  </xs:complexType>
     310</xs:schema>
     311}}}
     312 * {{{ statement/expression/IncrementNode.xsd }}}
     313{{{
     314#!xml
     315<?xml version="1.0"?>
     316<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:in="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
     317  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" schemaLocation="../../statement/expression/LHSExpressionNode.xsd"/>
     318  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../../misc.xsd"/>
     319  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
     320  <xs:group name="_IncrementNodeGroup">
     321    <xs:sequence>
     322      <xs:element name="id_IncrementNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     323      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     324      <xs:element name="prefix" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
     325      <xs:element name="increment" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
     326      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     327      <xs:element name="lhs" type="lhsn:LHSExpressionNode" minOccurs="1" maxOccurs="1"/>
     328    </xs:sequence>
     329  </xs:group>
     330  <xs:complexType name="IncrementNode">
     331    <xs:choice>
     332      <xs:group ref="in:_IncrementNodeGroup"/>
     333    </xs:choice>
     334  </xs:complexType>
     335</xs:schema>
     336}}}
     337 * {{{ statement/expression/SubscriptNode.xsd }}}
     338{{{
     339#!xml
     340<?xml version="1.0"?>
     341<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ssn="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
     342  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="../../statement/expression/ExpressionNode.xsd"/>
     343  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../../misc.xsd"/>
     344  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
     345  <xs:group name="_SubscriptNodeGroup">
     346    <xs:sequence>
     347      <xs:element name="id_SubscriptNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     348      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     349      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     350      <xs:element name="arrayExpression" type="exn:ExpressionNode" minOccurs="1" maxOccurs="1"/>
     351      <xs:element name="indexExpression" type="exn:ExpressionNode" minOccurs="1" maxOccurs="1"/>
     352    </xs:sequence>
     353  </xs:group>
     354  <xs:complexType name="SubscriptNode">
     355    <xs:choice>
     356      <xs:group ref="ssn:_SubscriptNodeGroup"/>
     357    </xs:choice>
     358  </xs:complexType>
     359</xs:schema>
     360}}}
     361 * {{{ statement/expression/AssignmentNode.xsd }}}
     362{{{
     363#!xml
     364<?xml version="1.0"?>
     365<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:asn="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
     366  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" schemaLocation="../../statement/expression/LHSExpressionNode.xsd"/>
     367  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../../misc.xsd"/>
     368  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
     369  <xs:group name="_AssignmentNodeGroup">
     370    <xs:sequence>
     371      <xs:element name="id_AssignmentNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     372      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     373      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     374      <xs:element name="lhs" type="lhsn:LHSExpressionNode" minOccurs="1" maxOccurs="1"/>
     375    </xs:sequence>
     376  </xs:group>
     377  <xs:complexType name="AssignmentNode">
     378    <xs:choice>
     379      <xs:group ref="asn:_AssignmentNodeGroup"/>
     380    </xs:choice>
     381  </xs:complexType>
     382</xs:schema>
     383}}}
     384 * {{{ statement/expression/SideEffectExpressionNode.xsd }}}
     385{{{
     386#!xml
     387<?xml version="1.0"?>
     388<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:seen="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" xmlns:asn="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:in="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
     389  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" schemaLocation="../../statement/expression/AssignmentNode.xsd"/>
     390  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" schemaLocation="../../statement/expression/IncrementNode.xsd"/>
     391  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" schemaLocation="../../statement/expression/ModificationNode.xsd"/>
     392  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../../misc.xsd"/>
     393  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
     394  <xs:group name="_SideEffectExpressionNodeGroup">
     395    <xs:sequence>
     396      <xs:element name="id_SideEffectExpressionNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     397      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     398      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     399    </xs:sequence>
     400  </xs:group>
     401  <xs:complexType name="SideEffectExpressionNode">
     402    <xs:choice>
     403      <xs:group ref="seen:_SideEffectExpressionNodeGroup"/>
     404      <xs:group ref="mdn:_ModificationNodeGroup"/>
     405      <xs:group ref="in:_IncrementNodeGroup"/>
     406      <xs:group ref="asn:_AssignmentNodeGroup"/>
     407    </xs:choice>
     408  </xs:complexType>
     409</xs:schema>
     410}}}
     411 * {{{ statement/expression/LHSExpressionNode.xsd }}}
     412{{{
     413#!xml
     414<?xml version="1.0"?>
     415<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:ssn="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode">
     416  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../../misc.xsd"/>
     417  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
     418  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" schemaLocation="../../statement/expression/SubscriptNode.xsd"/>
     419  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" schemaLocation="../../statement/expression/VariableReferenceNode.xsd"/>
     420  <xs:group name="_LHSExpressionNodeGroup">
     421    <xs:sequence>
     422      <xs:element name="id_LHSExpressionNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     423      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     424      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     425    </xs:sequence>
     426  </xs:group>
     427  <xs:complexType name="LHSExpressionNode">
     428    <xs:choice>
     429      <xs:group ref="lhsn:_LHSExpressionNodeGroup"/>
     430      <xs:group ref="vrn:_VariableReferenceNodeGroup"/>
     431      <xs:group ref="ssn:_SubscriptNodeGroup"/>
     432    </xs:choice>
     433  </xs:complexType>
     434</xs:schema>
     435}}}
     436 * {{{ statement/expression/ModificationNode.xsd }}}
     437{{{
     438#!xml
     439<?xml version="1.0"?>
     440<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" xmlns:asn="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:in="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
     441  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" schemaLocation="../../statement/expression/AssignmentNode.xsd"/>
     442  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" schemaLocation="../../statement/expression/IncrementNode.xsd"/>
     443  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" schemaLocation="../../statement/expression/LHSExpressionNode.xsd"/>
     444  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../../misc.xsd"/>
     445  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
     446  <xs:group name="_ModificationNodeGroup">
     447    <xs:sequence>
     448      <xs:element name="id_ModificationNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     449      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     450      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     451      <xs:element name="lhs" type="lhsn:LHSExpressionNode" minOccurs="1" maxOccurs="1"/>
     452    </xs:sequence>
     453  </xs:group>
     454  <xs:complexType name="ModificationNode">
     455    <xs:choice>
     456      <xs:group ref="mdn:_ModificationNodeGroup"/>
     457      <xs:group ref="in:_IncrementNodeGroup"/>
     458      <xs:group ref="asn:_AssignmentNodeGroup"/>
     459    </xs:choice>
     460  </xs:complexType>
     461</xs:schema>
     462}}}
     463 * {{{ statement/expression/FunctionReferenceNode.xsd }}}
     464{{{
     465#!xml
     466<?xml version="1.0"?>
     467<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:frn="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" xmlns:fdn="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
     468  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" schemaLocation="../../declaration/FunctionDeclarationNode.xsd"/>
     469  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../../misc.xsd"/>
     470  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
     471  <xs:group name="_FunctionReferenceNodeGroup">
     472    <xs:sequence>
     473      <xs:element name="id_FunctionReferenceNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     474      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     475      <xs:element name="identifier" type="xs:string" minOccurs="1" maxOccurs="1"/>
     476      <xs:element name="fdn_referent" type="xs:int" minOccurs="1" maxOccurs="1"/>
     477      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     478    </xs:sequence>
     479  </xs:group>
     480  <xs:complexType name="FunctionReferenceNode">
     481    <xs:choice>
     482      <xs:group ref="frn:_FunctionReferenceNodeGroup"/>
     483    </xs:choice>
     484  </xs:complexType>
     485</xs:schema>
     486}}}
     487 * {{{ statement/expression/LiteralNode.xsd }}}
     488{{{
     489#!xml
     490<?xml version="1.0"?>
     491<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ln="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:iln="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:rln="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode">
     492  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" schemaLocation="../../IdentifierNode.xsd"/>
     493  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" schemaLocation="../../statement/expression/IntegerLiteralNode.xsd"/>
     494  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../../misc.xsd"/>
     495  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" schemaLocation="../../statement/expression/RealLiteralNode.xsd"/>
     496  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
     497  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="../../type/TypeNode.xsd"/>
     498  <xs:group name="_LiteralNodeGroup">
     499    <xs:sequence>
     500      <xs:element name="id_LiteralNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     501      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     502      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     503      <xs:element name="name" type="idn:IdentifierNode" minOccurs="0" maxOccurs="1"/>
     504      <xs:element name="type" type="tyn:TypeNode" minOccurs="1" maxOccurs="1"/>
     505    </xs:sequence>
     506  </xs:group>
     507  <xs:complexType name="LiteralNode">
     508    <xs:choice>
     509      <xs:group ref="ln:_LiteralNodeGroup"/>
     510      <xs:group ref="rln:_RealLiteralNodeGroup"/>
     511      <xs:group ref="iln:_IntegerLiteralNodeGroup"/>
     512    </xs:choice>
     513  </xs:complexType>
     514</xs:schema>
     515}}}
     516 * {{{ statement/expression/ExpressionNode.xsd }}}
     517{{{
     518#!xml
     519<?xml version="1.0"?>
     520<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:asn="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:ben="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" xmlns:fin="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode" xmlns:frn="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" xmlns:iln="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" xmlns:in="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:ln="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:on="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:rln="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:seen="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:ssn="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode">
     521  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" schemaLocation="../../statement/expression/AssignmentNode.xsd"/>
     522  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" schemaLocation="../../statement/expression/BindingExpressionNode.xsd"/>
     523  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode" schemaLocation="../../statement/expression/FunctionInvocationNode.xsd"/>
     524  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" schemaLocation="../../statement/expression/FunctionReferenceNode.xsd"/>
     525  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" schemaLocation="../../statement/expression/IntegerLiteralNode.xsd"/>
     526  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" schemaLocation="../../statement/expression/IncrementNode.xsd"/>
     527  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" schemaLocation="../../statement/expression/LHSExpressionNode.xsd"/>
     528  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" schemaLocation="../../statement/expression/LiteralNode.xsd"/>
     529  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" schemaLocation="../../statement/expression/ModificationNode.xsd"/>
     530  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../../misc.xsd"/>
     531  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" schemaLocation="../../statement/expression/OperatorNode.xsd"/>
     532  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" schemaLocation="../../statement/expression/PureExpressionNode.xsd"/>
     533  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" schemaLocation="../../statement/expression/RealLiteralNode.xsd"/>
     534  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" schemaLocation="../../statement/expression/SideEffectExpressionNode.xsd"/>
     535  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
     536  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" schemaLocation="../../statement/expression/SubscriptNode.xsd"/>
     537  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" schemaLocation="../../statement/expression/VariableReferenceNode.xsd"/>
     538  <xs:group name="_ExpressionNodeGroup">
     539    <xs:sequence>
     540      <xs:element name="id_ExpressionNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     541      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     542      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     543    </xs:sequence>
     544  </xs:group>
     545  <xs:complexType name="ExpressionNode">
     546    <xs:choice>
     547      <xs:group ref="exn:_ExpressionNodeGroup"/>
     548      <xs:group ref="vrn:_VariableReferenceNodeGroup"/>
     549      <xs:group ref="ssn:_SubscriptNodeGroup"/>
     550      <xs:group ref="seen:_SideEffectExpressionNodeGroup"/>
     551      <xs:group ref="mdn:_ModificationNodeGroup"/>
     552      <xs:group ref="in:_IncrementNodeGroup"/>
     553      <xs:group ref="asn:_AssignmentNodeGroup"/>
     554      <xs:group ref="rln:_RealLiteralNodeGroup"/>
     555      <xs:group ref="pen:_PureExpressionNodeGroup"/>
     556      <xs:group ref="on:_OperatorNodeGroup"/>
     557      <xs:group ref="ln:_LiteralNodeGroup"/>
     558      <xs:group ref="iln:_IntegerLiteralNodeGroup"/>
     559      <xs:group ref="lhsn:_LHSExpressionNodeGroup"/>
     560      <xs:group ref="ben:_BindingExpressionNodeGroup"/>
     561      <xs:group ref="frn:_FunctionReferenceNodeGroup"/>
     562      <xs:group ref="fin:_FunctionInvocationNodeGroup"/>
     563    </xs:choice>
     564  </xs:complexType>
     565</xs:schema>
     566}}}
     567 * {{{ statement/expression/PureExpressionNode.xsd }}}
     568{{{
     569#!xml
     570<?xml version="1.0"?>
     571<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:ben="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" xmlns:iln="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:ln="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:on="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" xmlns:rln="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:ssn="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode">
     572  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" schemaLocation="../../statement/expression/BindingExpressionNode.xsd"/>
     573  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" schemaLocation="../../statement/expression/IntegerLiteralNode.xsd"/>
     574  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" schemaLocation="../../statement/expression/LHSExpressionNode.xsd"/>
     575  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" schemaLocation="../../statement/expression/LiteralNode.xsd"/>
     576  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../../misc.xsd"/>
     577  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" schemaLocation="../../statement/expression/OperatorNode.xsd"/>
     578  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" schemaLocation="../../statement/expression/RealLiteralNode.xsd"/>
     579  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
     580  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" schemaLocation="../../statement/expression/SubscriptNode.xsd"/>
     581  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" schemaLocation="../../statement/expression/VariableReferenceNode.xsd"/>
     582  <xs:group name="_PureExpressionNodeGroup">
     583    <xs:sequence>
     584      <xs:element name="id_PureExpressionNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     585      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     586      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     587    </xs:sequence>
     588  </xs:group>
     589  <xs:complexType name="PureExpressionNode">
     590    <xs:choice>
     591      <xs:group ref="pen:_PureExpressionNodeGroup"/>
     592      <xs:group ref="vrn:_VariableReferenceNodeGroup"/>
     593      <xs:group ref="ssn:_SubscriptNodeGroup"/>
     594      <xs:group ref="rln:_RealLiteralNodeGroup"/>
     595      <xs:group ref="on:_OperatorNodeGroup"/>
     596      <xs:group ref="ln:_LiteralNodeGroup"/>
     597      <xs:group ref="iln:_IntegerLiteralNodeGroup"/>
     598      <xs:group ref="lhsn:_LHSExpressionNodeGroup"/>
     599      <xs:group ref="ben:_BindingExpressionNodeGroup"/>
     600    </xs:choice>
     601  </xs:complexType>
     602</xs:schema>
     603}}}
     604 * {{{ statement/expression/FunctionInvocationNode.xsd }}}
     605{{{
     606#!xml
     607<?xml version="1.0"?>
     608<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fin="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
     609  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="../../statement/expression/ExpressionNode.xsd"/>
     610  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../../misc.xsd"/>
     611  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
     612  <xs:group name="_FunctionInvocationNodeGroup">
     613    <xs:sequence>
     614      <xs:element name="id_FunctionInvocationNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     615      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     616      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     617      <xs:element name="function" type="exn:ExpressionNode" minOccurs="1" maxOccurs="1"/>
     618      <xs:element name="arguments" type="seq:ExpressionNodes" minOccurs="1" maxOccurs="1"/>
     619    </xs:sequence>
     620  </xs:group>
     621  <xs:complexType name="FunctionInvocationNode">
     622    <xs:choice>
     623      <xs:group ref="fin:_FunctionInvocationNodeGroup"/>
     624    </xs:choice>
     625  </xs:complexType>
     626</xs:schema>
     627}}}
     628 * {{{ statement/expression/RealLiteralNode.xsd }}}
     629{{{
     630#!xml
     631<?xml version="1.0"?>
     632<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rln="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:rtyn="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
     633  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" schemaLocation="../../IdentifierNode.xsd"/>
     634  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../../misc.xsd"/>
     635  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" schemaLocation="../../type/RealTypeNode.xsd"/>
     636  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
     637  <xs:group name="_RealLiteralNodeGroup">
     638    <xs:sequence>
     639      <xs:element name="id_RealLiteralNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     640      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     641      <xs:element name="realValue" type="xs:double" minOccurs="1" maxOccurs="1"/>
     642      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     643      <xs:element name="name" type="idn:IdentifierNode" minOccurs="0" maxOccurs="1"/>
     644      <xs:element name="type" type="rtyn:RealTypeNode" minOccurs="1" maxOccurs="1"/>
     645    </xs:sequence>
     646  </xs:group>
     647  <xs:complexType name="RealLiteralNode">
     648    <xs:choice>
     649      <xs:group ref="rln:_RealLiteralNodeGroup"/>
     650    </xs:choice>
     651  </xs:complexType>
     652</xs:schema>
     653}}}
     654 * {{{ statement/expression/IntegerLiteralNode.xsd }}}
     655{{{
     656#!xml
     657<?xml version="1.0"?>
     658<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:iln="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode">
     659  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" schemaLocation="../../IdentifierNode.xsd"/>
     660  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../../misc.xsd"/>
     661  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
     662  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="../../type/TypeNode.xsd"/>
     663  <xs:group name="_IntegerLiteralNodeGroup">
     664    <xs:sequence>
     665      <xs:element name="id_IntegerLiteralNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     666      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     667      <xs:element name="integerValue" type="xs:integer" minOccurs="1" maxOccurs="1"/>
     668      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     669      <xs:element name="name" type="idn:IdentifierNode" minOccurs="0" maxOccurs="1"/>
     670      <xs:element name="type" type="tyn:TypeNode" minOccurs="1" maxOccurs="1"/>
     671    </xs:sequence>
     672  </xs:group>
     673  <xs:complexType name="IntegerLiteralNode">
     674    <xs:choice>
     675      <xs:group ref="iln:_IntegerLiteralNodeGroup"/>
     676    </xs:choice>
     677  </xs:complexType>
     678</xs:schema>
     679}}}
     680 * {{{ statement/expression/BindingExpressionNode.xsd }}}
     681{{{
     682#!xml
     683<?xml version="1.0"?>
     684<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ben="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" xmlns:bvn="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
     685  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode" schemaLocation="../../declaration/BoundVariableDeclarationNode.xsd"/>
     686  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../../misc.xsd"/>
     687  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" schemaLocation="../../statement/expression/PureExpressionNode.xsd"/>
     688  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
     689  <xs:group name="_BindingExpressionNodeGroup">
     690    <xs:sequence>
     691      <xs:element name="id_BindingExpressionNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     692      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     693      <xs:element name="quantifier" type="misc:Quantifier" minOccurs="1" maxOccurs="1"/>
     694      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     695      <xs:element name="boundVariable" type="bvn:BoundVariableDeclarationNode" minOccurs="1" maxOccurs="1"/>
     696      <xs:element name="constraint" type="pen:PureExpressionNode" minOccurs="1" maxOccurs="1"/>
     697      <xs:element name="expression" type="pen:PureExpressionNode" minOccurs="1" maxOccurs="1"/>
     698    </xs:sequence>
     699  </xs:group>
     700  <xs:complexType name="BindingExpressionNode">
     701    <xs:choice>
     702      <xs:group ref="ben:_BindingExpressionNodeGroup"/>
     703    </xs:choice>
     704  </xs:complexType>
     705</xs:schema>
     706}}}
     707 * {{{ statement/BlockNode.xsd }}}
     708{{{
     709#!xml
     710<?xml version="1.0"?>
     711<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:bn="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
     712  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../misc.xsd"/>
     713  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../SequenceNode.xsd"/>
     714  <xs:group name="_BlockNodeGroup">
     715    <xs:sequence>
     716      <xs:element name="id_BlockNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     717      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     718      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     719      <xs:element name="variables" type="seq:VariableDeclarationNodes" minOccurs="1" maxOccurs="1"/>
     720      <xs:element name="statements" type="seq:StatementNodes" minOccurs="1" maxOccurs="1"/>
     721    </xs:sequence>
     722  </xs:group>
     723  <xs:complexType name="BlockNode">
     724    <xs:choice>
     725      <xs:group ref="bn:_BlockNodeGroup"/>
     726    </xs:choice>
     727  </xs:complexType>
     728</xs:schema>
     729}}}
     730 * {{{ statement/ReturnNode.xsd }}}
     731{{{
     732#!xml
     733<?xml version="1.0"?>
     734<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:retn="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
     735  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="../statement/expression/ExpressionNode.xsd"/>
     736  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../misc.xsd"/>
     737  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../SequenceNode.xsd"/>
     738  <xs:group name="_ReturnNodeGroup">
     739    <xs:sequence>
     740      <xs:element name="id_ReturnNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     741      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     742      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     743      <xs:element name="expression" type="exn:ExpressionNode" minOccurs="1" maxOccurs="1"/>
     744    </xs:sequence>
     745  </xs:group>
     746  <xs:complexType name="ReturnNode">
     747    <xs:choice>
     748      <xs:group ref="retn:_ReturnNodeGroup"/>
     749    </xs:choice>
     750  </xs:complexType>
     751</xs:schema>
     752}}}
     753 * {{{ statement/StatementNode.xsd }}}
     754{{{
     755#!xml
     756<?xml version="1.0"?>
     757<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" xmlns:asn="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:asrn="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode" xmlns:ben="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" xmlns:bn="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:fin="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode" xmlns:fln="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" xmlns:frn="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" xmlns:iln="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" xmlns:in="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" xmlns:ite="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:ln="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" xmlns:loopn="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode" xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:on="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:retn="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" xmlns:rln="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:seen="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:ssn="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode">
     758  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" schemaLocation="../statement/expression/AssignmentNode.xsd"/>
     759  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode" schemaLocation="../statement/AssertStatementNode.xsd"/>
     760  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" schemaLocation="../statement/expression/BindingExpressionNode.xsd"/>
     761  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" schemaLocation="../statement/BlockNode.xsd"/>
     762  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="../statement/expression/ExpressionNode.xsd"/>
     763  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode" schemaLocation="../statement/expression/FunctionInvocationNode.xsd"/>
     764  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" schemaLocation="../statement/ForLoopNode.xsd"/>
     765  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" schemaLocation="../statement/expression/FunctionReferenceNode.xsd"/>
     766  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" schemaLocation="../statement/expression/IntegerLiteralNode.xsd"/>
     767  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" schemaLocation="../statement/expression/IncrementNode.xsd"/>
     768  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode" schemaLocation="../statement/IfThenElseStatementNode.xsd"/>
     769  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" schemaLocation="../statement/expression/LHSExpressionNode.xsd"/>
     770  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" schemaLocation="../statement/expression/LiteralNode.xsd"/>
     771  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode" schemaLocation="../statement/LoopNode.xsd"/>
     772  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" schemaLocation="../statement/expression/ModificationNode.xsd"/>
     773  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../misc.xsd"/>
     774  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" schemaLocation="../statement/expression/OperatorNode.xsd"/>
     775  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" schemaLocation="../statement/expression/PureExpressionNode.xsd"/>
     776  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" schemaLocation="../statement/ReturnNode.xsd"/>
     777  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" schemaLocation="../statement/expression/RealLiteralNode.xsd"/>
     778  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" schemaLocation="../statement/expression/SideEffectExpressionNode.xsd"/>
     779  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../SequenceNode.xsd"/>
     780  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" schemaLocation="../statement/expression/SubscriptNode.xsd"/>
     781  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" schemaLocation="../statement/expression/VariableReferenceNode.xsd"/>
     782  <xs:group name="_StatementNodeGroup">
     783    <xs:sequence>
     784      <xs:element name="id_StatementNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     785      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     786      <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
     787    </xs:sequence>
     788  </xs:group>
     789  <xs:complexType name="StatementNode">
     790    <xs:choice>
     791      <xs:group ref="stn:_StatementNodeGroup"/>
     792      <xs:group ref="vrn:_VariableReferenceNodeGroup"/>
     793      <xs:group ref="ssn:_SubscriptNodeGroup"/>
     794      <xs:group ref="seen:_SideEffectExpressionNodeGroup"/>
     795      <xs:group ref="mdn:_ModificationNodeGroup"/>
     796      <xs:group ref="in:_IncrementNodeGroup"/>
     797      <xs:group ref="asn:_AssignmentNodeGroup"/>
     798      <xs:group ref="retn:_ReturnNodeGroup"/>
     799      <xs:group ref="rln:_RealLiteralNodeGroup"/>
     800      <xs:group ref="pen:_PureExpressionNodeGroup"/>
     801      <xs:group ref="on:_OperatorNodeGroup"/>
     802      <xs:group ref="ln:_LiteralNodeGroup"/>
     803      <xs:group ref="iln:_IntegerLiteralNodeGroup"/>
     804      <xs:group ref="lhsn:_LHSExpressionNodeGroup"/>
     805      <xs:group ref="ben:_BindingExpressionNodeGroup"/>
     806      <xs:group ref="loopn:_LoopNodeGroup"/>
     807      <xs:group ref="fln:_ForLoopNodeGroup"/>
     808      <xs:group ref="ite:_IfThenElseStatementNodeGroup"/>
     809      <xs:group ref="frn:_FunctionReferenceNodeGroup"/>
     810      <xs:group ref="fin:_FunctionInvocationNodeGroup"/>
     811      <xs:group ref="exn:_ExpressionNodeGroup"/>
     812      <xs:group ref="bn:_BlockNodeGroup"/>
     813      <xs:group ref="asrn:_AssertStatementNodeGroup"/>
     814    </xs:choice>
     815  </xs:complexType>
     816</xs:schema>
     817}}}
     818 * {{{ statement/PragmaNode.xsd }}}
     819{{{
     820#!xml
     821<?xml version="1.0"?>
     822<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pn="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc">
     823  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../misc.xsd"/>
     824  <xs:group name="_PragmaNodeGroup">
     825    <xs:sequence>
     826      <xs:element name="id_PragmaNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     827      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     828      <xs:element name="string" type="xs:string" minOccurs="1" maxOccurs="1"/>
     829    </xs:sequence>
     830  </xs:group>
     831  <xs:complexType name="PragmaNode">
     832    <xs:choice>
     833      <xs:group ref="pn:_PragmaNodeGroup"/>
     834    </xs:choice>
     835  </xs:complexType>
     836</xs:schema>
     837}}}
     838 * {{{ GlobalScopeNode.xsd }}}
     839{{{
     840#!xml
     841<?xml version="1.0"?>
     842<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" xmlns:fdn="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" xmlns:gvdn="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:tdn="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode">
     843  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" schemaLocation="declaration/FunctionDeclarationNode.xsd"/>
     844  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode" schemaLocation="declaration/GlobalVariableDeclarationNode.xsd"/>
     845  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
     846  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode" schemaLocation="TypeDefinitionNode.xsd"/>
     847  <xs:group name="_GlobalScopeNodeGroup">
     848    <xs:sequence>
     849      <xs:element name="id_GlobalScopeNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     850      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     851    </xs:sequence>
     852  </xs:group>
     853  <xs:complexType name="GlobalScopeNode">
     854    <xs:choice>
     855      <xs:group ref="gsn:_GlobalScopeNodeGroup"/>
     856      <xs:group ref="tdn:_TypeDefinitionNodeGroup"/>
     857      <xs:group ref="gvdn:_GlobalVariableDeclarationNodeGroup"/>
     858      <xs:group ref="fdn:_FunctionDeclarationNodeGroup"/>
     859    </xs:choice>
     860  </xs:complexType>
     861</xs:schema>
     862}}}
     863 * {{{ RootNode.xsd }}}
     864{{{
     865#!xml
     866<?xml version="1.0"?>
     867<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/RootNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rtn="http://vsl.cis.udel.edu/ns/tass/RootNode" xmlns:fdn="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
     868  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" schemaLocation="declaration/FunctionDeclarationNode.xsd"/>
     869  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
     870  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="SequenceNode.xsd"/>
     871  <xs:group name="_RootNodeGroup">
     872    <xs:sequence>
     873      <xs:element name="id_RootNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     874      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     875      <xs:element name="fdn_mainFunction" type="xs:int" minOccurs="0" maxOccurs="1"/>
     876      <xs:element name="globalScopeNodes" type="seq:GlobalScopeNodes" minOccurs="1" maxOccurs="1"/>
     877      <xs:element name="files" type="seq:FileNodes" minOccurs="1" maxOccurs="1"/>
     878    </xs:sequence>
     879  </xs:group>
     880  <xs:complexType name="RootNode">
     881    <xs:choice>
     882      <xs:group ref="rtn:_RootNodeGroup"/>
     883    </xs:choice>
     884  </xs:complexType>
     885</xs:schema>
     886}}}
     887 * {{{ TypeDefinitionNode.xsd }}}
     888{{{
     889#!xml
     890<?xml version="1.0"?>
     891<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tdn="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode">
     892  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" schemaLocation="IdentifierNode.xsd"/>
     893  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
     894  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="type/TypeNode.xsd"/>
     895  <xs:group name="_TypeDefinitionNodeGroup">
     896    <xs:sequence>
     897      <xs:element name="id_TypeDefinitionNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
     898      <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
     899      <xs:element name="identifier" type="idn:IdentifierNode" minOccurs="1" maxOccurs="1"/>
     900      <xs:element name="type" type="tyn:TypeNode" minOccurs="1" maxOccurs="1"/>
     901    </xs:sequence>
     902  </xs:group>
    273903  <xs:complexType name="TypeDefinitionNode">
    274     <xs:complexContent>
    275       <xs:extension base="gsn:GlobalScopeNode">
    276         <xs:sequence>
    277           <xs:element name="identifier"
    278                       type="idn:IdentifierNode" />
    279           <xs:element name="type"
    280                       type="tyn:TypeNode" />
    281         </xs:sequence>
    282       </xs:extension>
    283     </xs:complexContent>
    284   </xs:complexType>
    285 </xs:schema>
    286 
    287 <?xml version="1.0"?>
    288 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    289            targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode"
    290            xmlns:ctn="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode"
    291            xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    292            xmlns:tn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    293            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    294            elementFormDefault="qualified">
    295 
    296   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    297              schemaLocation="../ASTNode.xsd" />
    298   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    299              schemaLocation="TypeNode.xsd" />
    300   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    301              schemaLocation="../IdentifierNode.xsd" />
    302 
    303   <xs:complexType name="CompositeTypeNode">
    304     <xs:complexContent>
    305       <xs:extension base="tn:TypeNode">
    306         <xs:sequence>
    307           <xs:element name="name"
    308                       type="idn:IdentifierNode" />
    309           <xs:element name="fields"
    310                       type="ctn:Fields" />
    311           <xs:element name="isUnion"
    312                       minOccurs="0"
    313                       type="xs:boolean"
    314                       default="false" />
    315         </xs:sequence>
    316       </xs:extension>
    317     </xs:complexContent>
    318   </xs:complexType>
    319 
    320   <xs:complexType name="Fields">
    321     <xs:complexContent>
    322       <xs:extension base="astnode:ASTNode">
    323         <xs:sequence>
    324           <xs:element name="child"
    325                       type="ctn:Field"
    326                       minOccurs="0"
    327                       maxOccurs="unbounded" />
    328         </xs:sequence>
    329       </xs:extension>
    330     </xs:complexContent>
    331   </xs:complexType>
    332 
    333   <xs:complexType name="Field">
    334     <xs:complexContent>
    335       <xs:extension base="astnode:ASTNode">
    336         <xs:sequence>
    337           <xs:element name="left"
    338                       type="idn:IdentifierNode" />
    339           <xs:element name="right"
    340                       type="tn:TypeNode" />
    341         </xs:sequence>
    342       </xs:extension>
    343     </xs:complexContent>
    344   </xs:complexType>
    345 
    346 </xs:schema>
    347 
    348 
    349 <?xml version="1.0"?>
    350 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    351            targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode"
    352            xmlns:itn="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode"
    353            xmlns:tn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    354            elementFormDefault="qualified">
    355 
    356   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    357              schemaLocation="TypeNode.xsd" />
    358 
    359   <xs:simpleType name="IntType">
    360     <xs:restriction base="xs:string">
    361       <xs:enumeration value="CHAR" />
    362       <xs:enumeration value="SHORT" />
    363       <xs:enumeration value="INT" />
    364       <xs:enumeration value="LONG" />
    365       <xs:enumeration value="LONGLONG" />
    366     </xs:restriction>
    367   </xs:simpleType>
    368 
    369   <xs:complexType name="IntegerTypeNode">
    370     <xs:complexContent>
    371       <xs:extension base="tn:TypeNode">
    372         <xs:attribute name="intType" type="itn:IntType" default="INT" />
    373         <xs:attribute name="isSigned" type="xs:boolean" default="true" />
    374       </xs:extension>
    375     </xs:complexContent>
    376   </xs:complexType>
    377 </xs:schema>
    378 
    379 <?xml version="1.0"?>
    380 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    381            targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    382            xmlns:szn="http://vsl.cis.udel.edu/ns/tass/SizeableNode"
    383            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    384            xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    385            elementFormDefault="qualified">
    386 
    387   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SizeableNode"
    388              schemaLocation="../SizeableNode.xsd" />
    389   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc"
    390              schemaLocation="../misc.xsd" />
    391 
    392   <xs:complexType name="TypeNode">
    393     <xs:complexContent>
    394       <xs:extension base="szn:SizeableNode">
    395         <xs:sequence>
    396           <xs:element name="id"
    397                       type="misc:Guid"
    398                       minOccurs="0"
    399                       maxOccurs="1" />
    400         </xs:sequence>
    401       </xs:extension>
    402     </xs:complexContent>
    403   </xs:complexType>
    404 </xs:schema>
    405 
    406 <?xml version="1.0"?>
    407 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    408            targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode"
    409            xmlns:ptn="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode"
    410            xmlns:tn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    411            elementFormDefault="qualified">
    412 
    413   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    414              schemaLocation="TypeNode.xsd" />
    415 
    416   <xs:complexType name="PointerTypeNode">
    417     <xs:complexContent>
    418       <xs:extension base="tn:TypeNode">
    419         <xs:sequence>
    420           <xs:element name="baseType" type="tn:TypeNode" />
    421         </xs:sequence>
    422       </xs:extension>
    423     </xs:complexContent>
    424   </xs:complexType>
    425 </xs:schema>
    426 
    427 <?xml version="1.0"?>
    428 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    429            targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/TypeReferenceNode"
    430            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    431            xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    432            xmlns:trn="http://vsl.cis.udel.edu/ns/tass/type/TypeReferenceNode"
    433            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    434            elementFormDefault="qualified">
    435 
    436   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    437              schemaLocation="../IdentifierNode.xsd" />
    438   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc"
    439              schemaLocation="../misc.xsd" />
    440 
    441   <xs:complexType name="TypeReferenceNode">
    442     <xs:complexContent>
    443       <xs:extension base="idn:IdentifierNode">
    444         <xs:attribute name="typeRef" type="misc:Guid" />
    445       </xs:extension>
    446     </xs:complexContent>
    447   </xs:complexType>
    448 
    449 </xs:schema>
    450 
    451 <?xml version="1.0"?>
    452 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    453            targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode"
    454            xmlns:vtn="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode"
    455            xmlns:tn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    456            elementFormDefault="qualified">
    457 
    458   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    459              schemaLocation="TypeNode.xsd" />
    460 
    461   <xs:complexType name="VoidTypeNode">
    462     <xs:complexContent>
    463       <xs:extension base="tn:TypeNode" />
    464     </xs:complexContent>
    465   </xs:complexType>
    466 </xs:schema>
    467 
    468 <?xml version="1.0"?>
    469 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    470            targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode"
    471            xmlns:atn="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode"
    472            xmlns:tn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    473            xmlns:en="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    474            elementFormDefault="qualified">
    475 
    476   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    477              schemaLocation="TypeNode.xsd" />
    478   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    479              schemaLocation="../statement/expression/ExpressionNode.xsd" />
    480 
    481 
    482   <xs:complexType name="ArrayTypeNode">
    483     <xs:complexContent>
    484       <xs:extension base="tn:TypeNode">
    485         <xs:sequence>
    486           <xs:element name="elementType"
    487                       type="tn:TypeNode" />
    488           <xs:element name="extent"
    489                       type="en:ExpressionNode"
    490                       minOccurs="0" />
    491         </xs:sequence>
    492       </xs:extension>
    493     </xs:complexContent>
    494   </xs:complexType>
    495 </xs:schema>
    496 
    497 <?xml version="1.0"?>
    498 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    499            targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode"
    500            xmlns:btn="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode"
    501            xmlns:tn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    502            elementFormDefault="qualified">
    503 
    504   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    505              schemaLocation="TypeNode.xsd" />
    506 
    507   <xs:complexType name="BooleanTypeNode">
    508     <xs:complexContent>
    509       <xs:extension base="tn:TypeNode" />
    510     </xs:complexContent>
    511   </xs:complexType>
    512 </xs:schema>
    513 
    514 <?xml version="1.0"?>
    515 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    516            targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode"
    517            xmlns:rtn="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode"
    518            xmlns:tn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    519            elementFormDefault="qualified">
    520 
    521   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    522              schemaLocation="TypeNode.xsd" />
    523 
    524   <xs:simpleType name="FloatType">
    525     <xs:restriction base="xs:string">
    526       <xs:enumeration value="FLOAT" />
    527       <xs:enumeration value="DOUBLE" />
    528       <xs:enumeration value="LONG" />
    529     </xs:restriction>
    530   </xs:simpleType>
    531 
    532 
    533   <xs:complexType name="RealTypeNode">
    534     <xs:complexContent>
    535       <xs:extension base="tn:TypeNode">
    536         <xs:attribute name="floatType" type="rtn:FloatType" default="DOUBLE" />
    537       </xs:extension>
    538     </xs:complexContent>
    539   </xs:complexType>
    540 </xs:schema>
    541 
    542 <?xml version="1.0"?>
    543 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    544            targetNamespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode"
    545            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    546            xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode"
    547            elementFormDefault="qualified">
    548 
    549   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    550              schemaLocation="ASTNode.xsd" />
    551 
    552   <xs:complexType name="GlobalScopeNode" abstract="true">
    553     <xs:complexContent>
    554       <xs:extension base="astnode:ASTNode" />
    555     </xs:complexContent>
    556   </xs:complexType>
    557 
    558   <xs:complexType name="GlobalScopeNodes">
    559     <xs:complexContent>
    560       <xs:extension base="astnode:ASTNode">
    561         <xs:sequence>
    562           <xs:element name="child"
    563                       type="gsn:GlobalScopeNode"
    564                       minOccurs="0"
    565                       maxOccurs="unbounded" />
    566         </xs:sequence>
    567       </xs:extension>
    568     </xs:complexContent>
    569   </xs:complexType>
    570 
    571 </xs:schema>
    572 
    573 <?xml version="1.0"?>
    574 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    575            targetNamespace="http://vsl.cis.udel.edu/ns/tass/LabelNode"
    576            xmlns:ln="http://vsl.cis.udel.edu/ns/tass/LabelNode"
    577            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    578            xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    579            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    580            elementFormDefault="qualified">
    581            
    582   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    583              schemaLocation="ASTNode.xsd" />
    584   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    585              schemaLocation="IdentifierNode.xsd" />
    586   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc"
    587              schemaLocation="misc.xsd" />
    588 
    589   <xs:complexType name="LabelNode">
    590     <xs:complexContent>
    591       <xs:extension base="astnode:ASTNode">
    592         <xs:sequence>
    593           <xs:element name="identifier"
    594                       type="idn:IdentifierNode" />
    595           <xs:element name="stref"
    596                       type="misc:Guid" />
    597         </xs:sequence>
    598       </xs:extension>
    599     </xs:complexContent>
    600   </xs:complexType>
    601 
    602   <xs:complexType name="LabelNodes">
    603     <xs:complexContent>
    604       <xs:extension base="astnode:ASTNode">
    605         <xs:sequence>
    606           <xs:element name="child"
    607                       type="ln:LabelNode" />
    608         </xs:sequence>
    609       </xs:extension>
    610     </xs:complexContent>
    611   </xs:complexType>
    612 </xs:schema>
    613 
    614 
    615 <?xml version="1.0"?>
    616 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    617            targetNamespace="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode"
    618            xmlns:fvn="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode"
    619            xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode"
    620            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    621            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    622            elementFormDefault="qualified">
    623 
    624   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode"
    625              schemaLocation="VariableDeclarationNode.xsd" />
    626   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc"
    627              schemaLocation="../misc.xsd" />
    628   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    629              schemaLocation="../ASTNode.xsd" />
    630 
    631   <xs:complexType name="FormalVariableDeclarationNode">
    632     <xs:complexContent>
    633       <xs:extension base="vdn:VariableDeclarationNode">
    634         <xs:sequence>
    635           <xs:element name="fref"
    636                       type="misc:Guid" />
    637         </xs:sequence>
    638       </xs:extension>
    639     </xs:complexContent>
    640   </xs:complexType>
    641 
    642   <xs:complexType name="FormalVariableDeclarationNodes">
    643     <xs:complexContent>
    644       <xs:extension base="astnode:ASTNode">
    645         <xs:sequence>
    646           <xs:element name="child"
    647                       type="fvn:FormalVariableDeclarationNode"
    648                       minOccurs="0"
    649                       maxOccurs="unbounded" />
    650         </xs:sequence>
    651       </xs:extension>
    652     </xs:complexContent>
    653   </xs:complexType>
    654 
    655 </xs:schema>
    656 
    657 <?xml version="1.0"?>
    658 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    659            targetNamespace="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode"
    660            xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode"
    661            xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode"
    662            xmlns:gvdn="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode"
    663            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    664            xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    665            xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    666            xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    667            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    668            elementFormDefault="qualified">
    669 
    670   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    671              schemaLocation="../ASTNode.xsd" />
    672   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    673              schemaLocation="../IdentifierNode.xsd" />
    674   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    675              schemaLocation="../statement/expression/ExpressionNode.xsd" />
    676   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    677              schemaLocation="../type/TypeNode.xsd" />
    678   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc"
    679              schemaLocation="../misc.xsd" />
    680   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode"
    681              schemaLocation="VariableDeclarationNode.xsd" />
    682   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode"
    683              schemaLocation="../GlobalScopeNode.xsd" />
    684 
    685   <xs:complexType name="GlobalVariableDeclarationNode">
    686     <xs:complexContent>
    687       <xs:extension base="gsn:GlobalScopeNode">
    688         <xs:sequence>
    689           <xs:element name="id"
    690                       type="misc:Guid"
    691                       minOccurs="0" />
    692           <xs:element name="name"
    693                       type="idn:IdentifierNode" />
    694           <xs:element name="type"
    695                       type="tyn:TypeNode" />
    696           <xs:element name="initializer"
    697                       type="exn:ExpressionNode"
    698                       minOccurs="0"
    699                       maxOccurs="1" />
    700           <xs:element name="isConst"
    701                       minOccurs="0" />
    702           <xs:element name="isVolatile"
    703                       minOccurs="0" />
    704           <xs:element name="isRestict"
    705                       minOccurs="0" />
    706           <xs:element name="storageClass"
    707                       type="vdn:StorageClass"
    708                       minOccurs="0"
    709                       maxOccurs="1" />
    710           <xs:element name="dref"
    711                       type="misc:Guid"
    712                       minOccurs="0" />
    713           <xs:element name="isDefinition"
    714                       minOccurs="0" />
    715           <xs:element name="isInput"
    716                       minOccurs="0" />
    717           <xs:element name="isOutput"
    718                       minOccurs="0" />
    719           <xs:element name="isShared"
    720                       minOccurs="0" />
    721         </xs:sequence>
    722       </xs:extension>
    723     </xs:complexContent>
    724   </xs:complexType>
    725 
    726   <xs:complexType name="GlobalVariableDeclarationNodes">
    727     <xs:complexContent>
    728       <xs:extension base="astnode:ASTNode">
    729         <xs:sequence>
    730           <xs:element name="child"
    731                       type="gvdn:GlobalVariableDeclarationNode"
    732                       minOccurs="0"
    733                       maxOccurs="unbounded" />
    734         </xs:sequence>
    735       </xs:extension>
    736     </xs:complexContent>
    737   </xs:complexType>
    738 
    739 </xs:schema>
    740 
    741 <?xml version="1.0"?>
    742 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    743            targetNamespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode"
    744            xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode"
    745            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    746            xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    747            xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    748            xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    749            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    750            elementFormDefault="qualified">
    751 
    752   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    753              schemaLocation="../ASTNode.xsd" />
    754   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    755              schemaLocation="../IdentifierNode.xsd" />
    756   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    757              schemaLocation="../statement/expression/ExpressionNode.xsd" />
    758   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    759              schemaLocation="../type/TypeNode.xsd" />
    760   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc"
    761              schemaLocation="../misc.xsd" />
    762 
    763   <xs:simpleType name="StorageClass">
    764     <xs:restriction base="xs:string">
    765       <xs:enumeration value="EXTERNAL" />
    766       <xs:enumeration value="AUTO" />
    767       <xs:enumeration value="STATIC" />
    768       <xs:enumeration value="REGISTER" />
    769     </xs:restriction>
    770   </xs:simpleType>
    771 
    772   <xs:complexType name="VariableDeclarationNode" abstract="true">
    773     <xs:complexContent>
    774       <xs:extension base="astnode:ASTNode">
    775         <xs:sequence>
    776           <xs:element name="id"
    777                       type="misc:Guid"
    778                       minOccurs="0" />
    779           <xs:element name="name"
    780                       type="idn:IdentifierNode" />
    781           <xs:element name="type"
    782                       type="tyn:TypeNode" />
    783           <xs:element name="initializer"
    784                       type="exn:ExpressionNode"
    785                       minOccurs="0"
    786                       maxOccurs="1" />
    787           <xs:element name="isConst"
    788                       minOccurs="0" />
    789           <xs:element name="isVolatile"
    790                       minOccurs="0" />
    791           <xs:element name="isRestict"
    792                       minOccurs="0" />
    793           <xs:element name="storageClass"
    794                       type="vdn:StorageClass"
    795                       minOccurs="0"
    796                       maxOccurs="1" />
    797         </xs:sequence>
    798       </xs:extension>
    799     </xs:complexContent>
    800   </xs:complexType>
    801 
    802   <xs:complexType name="VariableDeclarationNodes">
    803     <xs:complexContent>
    804       <xs:extension base="astnode:ASTNode">
    805         <xs:sequence>
    806           <xs:element name="child"
    807                       type="vdn:VariableDeclarationNode"
    808                       minOccurs="0"
    809                       maxOccurs="unbounded" />
    810         </xs:sequence>
    811       </xs:extension>
    812     </xs:complexContent>
    813   </xs:complexType>
    814 
    815 </xs:schema>
    816 
    817 <?xml version="1.0"?>
    818 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    819            targetNamespace="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode"
    820            xmlns:bvn="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode"
    821            xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode"
    822            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    823            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    824            elementFormDefault="qualified">
    825 
    826   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode"
    827              schemaLocation="VariableDeclarationNode.xsd" />
    828   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc"
    829              schemaLocation="../misc.xsd" />
    830   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    831              schemaLocation="../ASTNode.xsd" />
    832 
    833   <xs:complexType name="BoundVariableDeclarationNode">
    834     <xs:complexContent>
    835       <xs:extension base="vdn:VariableDeclarationNode">
    836         <xs:sequence>
    837           <xs:element name="beref"
    838                       type="misc:Guid" />
    839         </xs:sequence>
    840       </xs:extension>
    841     </xs:complexContent>
    842   </xs:complexType>
    843 
    844   <xs:complexType name="BoundVariableDeclarationNodes">
    845     <xs:complexContent>
    846       <xs:extension base="astnode:ASTNode">
    847         <xs:sequence>
    848           <xs:element name="child"
    849                       type="bvn:BoundVariableDeclarationNode"
    850                       minOccurs="0"
    851                       maxOccurs="unbounded" />
    852         </xs:sequence>
    853       </xs:extension>
    854     </xs:complexContent>
    855   </xs:complexType>
    856 
    857 </xs:schema>
    858 
    859 <?xml version="1.0"?>
    860 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    861            targetNamespace="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode"
    862            xmlns:fdn="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode"
    863            xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode"
    864            xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    865            xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    866            xmlns:fvn="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode"
    867            xmlns:bln="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode"
    868            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    869            elementFormDefault="qualified">
    870 
    871   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode"
    872              schemaLocation="../GlobalScopeNode.xsd" />
    873   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    874              schemaLocation="../IdentifierNode.xsd" />
    875   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode"
    876              schemaLocation="../statement/BlockNode.xsd" />
    877   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    878              schemaLocation="../type/TypeNode.xsd" />
    879   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode"
    880              schemaLocation="FormalVariableDeclarationNode.xsd" />
    881   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc"
    882              schemaLocation="../misc.xsd" />
    883  
    884   <xs:complexType name="FunctionDeclarationNode">
    885     <xs:complexContent>
    886       <xs:extension base="gsn:GlobalScopeNode">
    887         <xs:sequence>
    888           <xs:element name="id"
    889                       type="misc:Guid"
    890                       minOccurs="0" />
    891           <xs:element name="name"
    892                       type="idn:IdentifierNode" />
    893           <xs:element name="outputType"
    894                       type="tyn:TypeNode" />
    895           <xs:element name="formals"
    896                       type="fvn:FormalVariableDeclarationNodes" />
    897           <xs:choice minOccurs="0">
    898             <xs:element name="fref"
    899                         type="misc:Guid" />
    900             <xs:element name="body"
    901                         type="bln:BlockNode" />
    902           </xs:choice>
    903         </xs:sequence>
    904       </xs:extension>
    905     </xs:complexContent>
    906   </xs:complexType>
    907 
    908 </xs:schema>
    909 
    910 <?xml version="1.0"?>
    911 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    912            targetNamespace="http://vsl.cis.udel.edu/ns/tass/declaration/LocalVariableDeclarationNode"
    913            xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode"
    914            xmlns:lvdn="http://vsl.cis.udel.edu/ns/tass/declaration/LocalVariableDeclarationNode"
    915            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    916            xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    917            xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    918            xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    919            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    920            elementFormDefault="qualified">
    921 
    922   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    923              schemaLocation="../ASTNode.xsd" />
    924   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    925              schemaLocation="../IdentifierNode.xsd" />
    926   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    927              schemaLocation="../statement/expression/ExpressionNode.xsd" />
    928   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    929              schemaLocation="../type/TypeNode.xsd" />
    930   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc"
    931              schemaLocation="../misc.xsd" />
    932   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode"
    933              schemaLocation="VariableDeclarationNode.xsd" />
    934 
    935   <xs:complexType name="LocalVariableDeclarationNode">
    936     <xs:complexContent>
    937       <xs:extension base="vdn:VariableDeclarationNode">
    938         <xs:sequence>
    939           <xs:element name="bref"
    940                       type="misc:Guid" />
    941         </xs:sequence>
    942       </xs:extension>
    943     </xs:complexContent>
    944   </xs:complexType>
    945 
    946   <xs:complexType name="LocalVariableDeclarationNodes">
    947     <xs:complexContent>
    948       <xs:extension base="astnode:ASTNode">
    949         <xs:sequence>
    950           <xs:element name="child"
    951                       type="lvdn:LocalVariableDeclarationNode"
    952                       minOccurs="0"
    953                       maxOccurs="unbounded" />
    954         </xs:sequence>
    955       </xs:extension>
    956     </xs:complexContent>
    957   </xs:complexType>
    958 
    959 </xs:schema>
    960 
    961 <?xml version="1.0"?>
    962 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    963            targetNamespace="http://vsl.cis.udel.edu/ns/tass/SizeableNode"
    964            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    965            elementFormDefault="qualified">
    966 
    967   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    968              schemaLocation="ASTNode.xsd" />
    969 
    970   <xs:complexType name="SizeableNode">
    971     <xs:complexContent>
    972       <xs:extension base="astnode:ASTNode" />
    973     </xs:complexContent>
    974   </xs:complexType>
    975 </xs:schema>
    976 
    977 <?xml version="1.0"?>
    978 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    979            targetNamespace="http://vsl.cis.udel.edu/ns/tass/misc"
    980            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    981            elementFormDefault="qualified">
    982 
    983   <xs:simpleType name="Guid">
    984     <xs:restriction base="xs:integer" />
    985   </xs:simpleType>
    986 
    987   <xs:complexType name="Source">
    988     <xs:attribute name="region" type="misc:SourceRegion" use="required" />
    989     <xs:attribute name="fileRef" type="misc:Guid" use="required" />
    990   </xs:complexType>
    991 
    992   <xs:simpleType name="SourceRegion">
    993     <xs:restriction base="xs:string">
    994       <xs:annotation>
    995         <xs:documentation xml:lang="en-US">
    996           This type represents a region of source file and is to be
    997           parsed as the following:
    998           [startLine],[startColumn],[endLine],[endColumn]
    999           It is assumed that: endLine &gt;= startLine
    1000           and if endLine == startLine that endColumn &gt; startColumn
    1001         </xs:documentation>
    1002       </xs:annotation>
    1003       <xs:pattern value="\d+,\d+,\d+,\d+" />
    1004     </xs:restriction>
    1005   </xs:simpleType>
    1006  
    1007 </xs:schema>
    1008 
    1009 <?xml version="1.0"?>
    1010 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1011            targetNamespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    1012            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1013            xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    1014            elementFormDefault="qualified">
    1015 
    1016   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1017              schemaLocation="ASTNode.xsd" />
    1018 
    1019   <xs:complexType name="IdentifierNode">
    1020     <xs:complexContent>
    1021       <xs:extension base="astnode:ASTNode">
    1022         <xs:attribute name="identifier" type="xs:string" />
    1023       </xs:extension>
    1024     </xs:complexContent>
    1025   </xs:complexType>
    1026 
    1027 </xs:schema>
    1028 
    1029 <?xml version="1.0"?>
    1030 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1031            xmlns:file="http://vsl.cis.udel.edu/ns/tass/File"
    1032            xmlns:sqn="http://vsl.cis.udel.edu/ns/tass/SequenceNode"
    1033            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    1034            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1035            targetNamespace="http://vsl.cis.udel.edu/ns/tass/File"
    1036            elementFormDefault="qualified">
    1037 
    1038   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1039              schemaLocation="ASTNode.xsd" />
    1040   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc"
    1041              schemaLocation="misc.xsd" />
    1042  
    1043   <xs:complexType name="File">
    1044       <xs:sequence>
    1045         <xs:element name="id"
    1046                     type="misc:Guid" />
    1047         <xs:element name="fileName"
    1048                     type="xs:string" />
    1049         <xs:element name="contents"
    1050                     type="xs:string"
    1051                     minOccurs="0" />
    1052       </xs:sequence>
    1053       <xs:attribute name="isSystem"
    1054                     type="xs:boolean"
    1055                     default="false" />
    1056   </xs:complexType>
    1057 
    1058   <xs:complexType name="Files">
    1059     <xs:complexContent>
    1060       <xs:extension base="astnode:ASTNode">
    1061         <xs:sequence>
    1062           <xs:element name="child"
    1063                       type="file:File"
    1064                       minOccurs="1"
    1065                       maxOccurs="unbounded" />
    1066         </xs:sequence>
    1067       </xs:extension>
    1068     </xs:complexContent>
    1069   </xs:complexType>
    1070 
    1071 </xs:schema>
    1072 
    1073 <?xml version="1.0"?>
    1074 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1075            targetNamespace="http://vsl.cis.udel.edu/ns/tass/RootNode"
    1076            xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode"
    1077            xmlns:fdn="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode"
    1078            xmlns:rtn="http://vsl.cis.udel.edu/ns/tass/RootNode"
    1079            xmlns:file="http://vsl.cis.udel.edu/ns/tass/File"
    1080            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    1081            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1082            elementFormDefault="qualified">
    1083 
    1084   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode"
    1085              schemaLocation="GlobalScopeNode.xsd" />
    1086   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode"
    1087              schemaLocation="declaration/FunctionDeclarationNode.xsd" />
    1088   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/File"
    1089              schemaLocation="File.xsd" />
    1090   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1091              schemaLocation="ASTNode.xsd" />
    1092   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc"
    1093              schemaLocation="misc.xsd" />
    1094 
    1095   <xs:complexType name="RootNode">
    1096     <xs:complexContent>
    1097       <xs:extension base="astnode:ASTNode">
    1098         <xs:sequence>
    1099           <xs:element name="globalScopeNodes"
    1100                       type="gsn:GlobalScopeNodes" />
    1101           <xs:element name="mainFunction"
    1102                       type="misc:Guid"
    1103                       minOccurs="0"
    1104                       maxOccurs="1" />
    1105           <xs:element name="files"
    1106                       type="file:Files" />
    1107         </xs:sequence>
    1108       </xs:extension>
    1109     </xs:complexContent>
    1110   </xs:complexType>
    1111 
    1112 </xs:schema>
    1113 
    1114 <?xml version="1.0"?>
    1115 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1116            targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode"
    1117            xmlns:ite="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode"
    1118            xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode"
    1119            xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    1120            elementFormDefault="qualified">
    1121 
    1122   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode"
    1123              schemaLocation="StatementNode.xsd" />
    1124   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    1125              schemaLocation="expression/ExpressionNode.xsd" />
    1126 
    1127   <xs:complexType name="IfThenElseStatementNode">
    1128     <xs:complexContent>
    1129       <xs:extension base="stn:StatementNode">
    1130         <xs:sequence>
    1131           <xs:element name="condition"
    1132                       type="exn:ExpressionNode" />
    1133           <xs:element name="trueBranch"
    1134                       type="stn:StatementNode" />
    1135           <xs:element name="falseBranch"
    1136                       type="stn:StatementNode"
    1137                       minOccurs="0" />
    1138         </xs:sequence>
    1139       </xs:extension>
    1140     </xs:complexContent>
    1141   </xs:complexType>
    1142 </xs:schema>
    1143 
    1144 <?xml version="1.0"?>
    1145 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1146            targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode"
    1147            xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode"
    1148            xmlns:en="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    1149            xmlns:rn="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode"
    1150            elementFormDefault="qualified">
    1151 
    1152   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode"
    1153              schemaLocation="StatementNode.xsd" />
    1154   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    1155              schemaLocation="expression/ExpressionNode.xsd" />
    1156 
    1157   <xs:complexType name="ReturnNode">
    1158     <xs:complexContent>
    1159       <xs:extension base="stn:StatementNode">
    1160         <xs:sequence>
    1161           <xs:element name="expression"
    1162                       type="en:ExpressionNode" />
    1163         </xs:sequence>
    1164       </xs:extension>
    1165     </xs:complexContent>
    1166   </xs:complexType>
    1167 
    1168 </xs:schema>
    1169 
    1170 <?xml version="1.0"?>
    1171 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1172            targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode"
    1173            xmlns:fln="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode"
    1174            xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    1175            xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode"
    1176            xmlns:ln="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode"
    1177            elementFormDefault="qualified">
    1178 
    1179   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode"
    1180              schemaLocation="LoopNode.xsd" />
    1181   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode"
    1182              schemaLocation="StatementNode.xsd" />
    1183   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    1184              schemaLocation="expression/ExpressionNode.xsd" />
    1185 
    1186   <xs:complexType name="ForLoopNode">
    1187     <xs:complexContent>
    1188       <xs:extension base="ln:LoopNode">
    1189         <xs:sequence>
    1190           <xs:element name="initializer"
    1191                       type="stn:StatementNode" />
    1192           <xs:element name="condition"
    1193                       type="exn:ExpressionNode" />
    1194           <xs:element name="incrementer"
    1195                       type="stn:StatementNode" />
    1196         </xs:sequence>
    1197       </xs:extension>
    1198     </xs:complexContent>
    1199   </xs:complexType>
    1200 </xs:schema>
    1201 
    1202 <?xml version="1.0"?>
    1203 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1204            targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode"
    1205            xmlns:pn="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode"
    1206            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1207            xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode"
    1208            xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode"
    1209            elementFormDefault="qualified">
    1210 
    1211   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode"
    1212              schemaLocation="StatementNode.xsd" />
    1213   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode"
    1214              schemaLocation="../GlobalScopeNode.xsd" />
    1215   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1216              schemaLocation="../ASTNode.xsd" />
    1217 
    1218   <xs:complexType name="PragmaNode">
    1219     <xs:complexContent>
    1220       <xs:extension base="stn:StatementNode">
    1221         <xs:sequence>
    1222           <xs:element name="string"
    1223                       type="xs:string" />
    1224         </xs:sequence>
    1225       </xs:extension>
    1226     </xs:complexContent>
    1227   </xs:complexType>
    1228 
    1229   <xs:complexType name="GlobalPragmaNode">
    1230     <xs:complexContent>
    1231       <xs:extension base="gsn:GlobalScopeNode">
    1232         <xs:sequence>
    1233           <xs:element name="pragmaNode"
    1234                       type="pn:PragmaNode" />
    1235         </xs:sequence>
    1236       </xs:extension>
    1237     </xs:complexContent>
    1238   </xs:complexType>
    1239 
    1240   <xs:complexType name="PragmaNodes">
    1241     <xs:complexContent>
    1242       <xs:extension base="astnode:ASTNode">
    1243         <xs:sequence>
    1244           <xs:element name="child"
    1245                       type="pn:PragmaNode"
    1246                       minOccurs="0"
    1247                       maxOccurs="unbounded" />
    1248         </xs:sequence>
    1249       </xs:extension>
    1250     </xs:complexContent>
    1251   </xs:complexType>
    1252 
    1253 </xs:schema>
    1254 
    1255 <?xml version="1.0"?>
    1256 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1257            targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode"
    1258            xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode"
    1259            xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode"
    1260            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1261            xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode"
    1262            elementFormDefault="qualified">
    1263 
    1264   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode"
    1265              schemaLocation="PureExpressionNode.xsd" />
    1266   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1267              schemaLocation="../../ASTNode.xsd" />
    1268   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode"
    1269              schemaLocation="VariableReferenceNode.xsd" />
    1270 
    1271   <xs:complexType name="LHSExpressionNode">
    1272     <xs:complexContent>
    1273       <xs:extension base="pen:PureExpressionNode" />
    1274     </xs:complexContent>
    1275   </xs:complexType>
    1276 
    1277   <xs:complexType name="LHSExpressionNodes">
    1278     <xs:complexContent>
    1279       <xs:extension base="astnode:ASTNode">
    1280         <xs:sequence>
    1281           <xs:element name="child"
    1282                       type="lhsn:LHSExpressionNode"
    1283                       minOccurs="0"
    1284                       maxOccurs="unbounded" />
    1285         </xs:sequence>
    1286       </xs:extension>
    1287     </xs:complexContent>
    1288   </xs:complexType>
    1289 
    1290 </xs:schema>
    1291 
    1292 <?xml version="1.0"?>
    1293 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1294            targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode"
    1295            xmlns:asn="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode"
    1296            xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode"
    1297            xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    1298            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1299            elementFormDefault="qualified">
    1300 
    1301   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode"
    1302              schemaLocation="ModificationNode.xsd" />
    1303   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    1304              schemaLocation="ExpressionNode.xsd" />
    1305   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1306              schemaLocation="../../ASTNode.xsd" />
    1307 
    1308   <xs:simpleType name="AST_ASSIGNMENT_TYPE">
    1309     <xs:restriction base="xs:string">
    1310       <xs:whiteSpace value="collapse" />
    1311       <xs:enumeration value="SIMPLE" />
    1312       <xs:enumeration value="MULTIPLICATION" />
    1313       <xs:enumeration value="DIVISION" />
    1314       <xs:enumeration value="REMAINDER" />
    1315       <xs:enumeration value="ADDITION" />
    1316       <xs:enumeration value="SUBTRACTION" />
    1317       <xs:enumeration value="LEFT" />
    1318       <xs:enumeration value="RIGHT" />
    1319       <xs:enumeration value="AND" />
    1320       <xs:enumeration value="XOR" />
    1321       <xs:enumeration value="OR" />
    1322     </xs:restriction>
    1323   </xs:simpleType>
    1324 
    1325 
    1326   <xs:complexType name="AssignmentNode">
    1327     <xs:complexContent>
    1328       <xs:extension base="mdn:ModificationNode">
    1329         <xs:sequence>
    1330           <xs:element name="assignmentType"
    1331                       type="asn:AST_ASSIGNMENT_TYPE"
    1332                       minOccurs="0" />
    1333           <xs:element name="rhs" type="exn:ExpressionNode" />
    1334         </xs:sequence>
    1335       </xs:extension>
    1336     </xs:complexContent>
    1337   </xs:complexType>
    1338 
    1339   <xs:complexType name="AssignmentNodes">
    1340     <xs:complexContent>
    1341       <xs:extension base="astnode:ASTNode">
    1342         <xs:sequence>
    1343           <xs:element name="child"
    1344                       type="asn:AssignmentNode"
    1345                       minOccurs="0"
    1346                       maxOccurs="unbounded" />
    1347         </xs:sequence>
    1348       </xs:extension>
    1349     </xs:complexContent>
    1350   </xs:complexType>
    1351 
    1352 </xs:schema>
    1353 
    1354 <?xml version="1.0"?>
    1355 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1356            targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode"
    1357            xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode"
    1358            xmlns:en="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    1359            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    1360            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1361            xmlns:ln="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode"
    1362            elementFormDefault="qualified">
    1363 
    1364   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    1365              schemaLocation="ExpressionNode.xsd" />
    1366   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode"
    1367              schemaLocation="LiteralNode.xsd" />
    1368   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc"
    1369              schemaLocation="../../misc.xsd" />
    1370   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1371              schemaLocation="../../ASTNode.xsd" />
    1372 
    1373   <xs:complexType name="RealLiteralNode">
    1374     <xs:complexContent>
    1375       <xs:extension base="ln:LiteralNode">
    1376         <xs:sequence>
    1377           <xs:element name="realValue"
    1378                       type="xs:double" />
    1379         </xs:sequence>
    1380       </xs:extension>
    1381     </xs:complexContent>
    1382   </xs:complexType>
    1383 
    1384 </xs:schema>
    1385 
    1386 <?xml version="1.0"?>
    1387 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1388            targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode"
    1389            xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode"
    1390            xmlns:en="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    1391            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    1392            xmlns:tn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    1393            xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    1394            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1395            elementFormDefault="qualified">
    1396 
    1397   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode"
    1398              schemaLocation="PureExpressionNode.xsd" />
    1399   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc"
    1400              schemaLocation="../../misc.xsd" />
    1401   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1402              schemaLocation="../../ASTNode.xsd" />
    1403   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    1404              schemaLocation="../../IdentifierNode.xsd" />
    1405   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode"
    1406              schemaLocation="../../type/TypeNode.xsd" />
    1407 
    1408   <xs:complexType name="LiteralNode">
    1409     <xs:complexContent>
    1410       <xs:extension base="pen:PureExpressionNode">
    1411         <xs:sequence>
    1412           <xs:element name="name"
    1413                       type="idn:IdentifierNode"
    1414                       minOccurs="0"
    1415                       maxOccurs="1" />
    1416           <xs:element name="type"
    1417                       type="tn:TypeNode" />
    1418         </xs:sequence>
    1419       </xs:extension>
    1420     </xs:complexContent>
    1421   </xs:complexType>
    1422 
    1423 </xs:schema>
    1424 
    1425 <?xml version="1.0"?>
    1426 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1427            targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode"
    1428            xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode"
    1429            xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode"
    1430            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    1431            xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode"
    1432            xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    1433            elementFormDefault="qualified">
    1434 
    1435   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode"
    1436              schemaLocation="../StatementNode.xsd" />
    1437   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    1438              schemaLocation="ExpressionNode.xsd" />
    1439   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc"
    1440              schemaLocation="../../misc.xsd" />
    1441   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode"
    1442              schemaLocation="LHSExpressionNode.xsd" />
    1443   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode"
    1444              schemaLocation="../../IdentifierNode.xsd" />
    1445 
    1446   <xs:complexType name="VariableReferenceNode">
    1447     <xs:complexContent>
    1448       <xs:extension base="lhsn:LHSExpressionNode">
    1449         <xs:sequence>
    1450           <xs:element name="vref"
    1451                       type="misc:Guid" />
    1452         </xs:sequence>
    1453       </xs:extension>
    1454     </xs:complexContent>
    1455   </xs:complexType>
    1456 
    1457 </xs:schema>
    1458 
    1459 <?xml version="1.0"?>
    1460 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1461            targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode"
    1462            xmlns:in="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode"
    1463            xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode"
    1464            elementFormDefault="qualified">
    1465 
    1466   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode"
    1467              schemaLocation="ModificationNode.xsd" />
    1468 
    1469   <xs:complexType name="IncrementNode">
    1470     <xs:complexContent>
    1471       <xs:extension base="mdn:ModificationNode">
    1472         <xs:attribute name="prefix"
    1473                       type="xs:boolean"
    1474                       default="true" />
    1475         <xs:attribute name="increment"
    1476                       type="xs:boolean"
    1477                       default="true" />
    1478       </xs:extension>
    1479     </xs:complexContent>
    1480   </xs:complexType>
    1481 </xs:schema>
    1482 
    1483 <?xml version="1.0"?>
    1484 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1485            targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode"
    1486            xmlns:ssn="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode"
    1487            xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    1488            xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode"
    1489            elementFormDefault="qualified">
    1490 
    1491   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode"
    1492              schemaLocation="LHSExpressionNode.xsd" />
    1493   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    1494              schemaLocation="ExpressionNode.xsd" />
    1495 
    1496   <xs:complexType name="SubscriptNode">
    1497     <xs:complexContent>
    1498       <xs:extension base="lhsn:LHSExpressionNode">
    1499         <xs:sequence>
    1500           <xs:element name="arrayExpression"
    1501                       type="exn:ExpressionNode" />
    1502           <xs:element name="indexExpression"
    1503                       type="exn:ExpressionNode" />
    1504         </xs:sequence>
    1505       </xs:extension>
    1506     </xs:complexContent>
    1507   </xs:complexType>
    1508 </xs:schema>
    1509 
    1510 <?xml version="1.0"?>
    1511 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1512            targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode"
    1513            xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode"
    1514            xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode"
    1515            xmlns:seen="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode"
    1516            xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1517            elementFormDefault="qualified">
    1518 
    1519   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode"
    1520              schemaLocation="LHSExpressionNode.xsd" />
    1521   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode"
    1522              schemaLocation="SideEffectExpressionNode.xsd" />
    1523   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode"
    1524              schemaLocation="../../ASTNode.xsd" />
    1525 
    1526   <xs:complexType name="ModificationNode">
    1527     <xs:complexContent>
    1528       <xs:extension base="seen:SideEffectExpressionNode">
    1529         <xs:sequence>
    1530           <xs:element name="lhs" type="lhsn:LHSExpressionNode" />
    1531         </xs:sequence>
    1532       </xs:extension>
    1533     </xs:complexContent>
    1534   </xs:complexType>
    1535 
    1536   <xs:complexType name="ModificationNodes">
    1537     <xs:complexContent>
    1538       <xs:extension base="astnode:ASTNode">
    1539         <xs:sequence>
    1540           <xs:element name="child"
    1541                       type="mdn:ModificationNode"
    1542                       minOccurs="0"
    1543                       maxOccurs="unbounded" />
    1544         </xs:sequence>
    1545       </xs:extension>
    1546     </xs:complexContent>
    1547   </xs:complexType>
    1548 
    1549 </xs:schema>
    1550 
    1551 <?xml version="1.0"?>
    1552 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1553            targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode"
    1554            xmlns:on="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode"
    1555            xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode"
    1556            xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode"
    1557            elementFormDefault="qualified">
    1558 
    1559   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/e
     904    <xs:choice>
     905      <xs:group ref="tdn:_TypeDefinitionNodeGroup"/>
     906    </xs:choice>
     907  </xs:complexType>
     908</xs:schema>
     909}}}
     910 * {{{ ReferenceNode.xsd }}}
     911{{{
     912#!xml
     913<?xml version="1.0"?>
     914<xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/ReferenceNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rn="http://vsl.cis.udel.edu/ns/tass/ReferenceNode" xmlns:frn="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:trn="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode">
     915  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" schemaLocation="statement/expression/FunctionReferenceNode.xsd"/>
     916  <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
     917  <xs:import namespace="http://vsl.cis.udel.edu