Changes between Version 3 and Version 4 of AST Schema


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

--

Legend:

Unmodified
Added
Removed
Modified
  • AST Schema

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