wiki:XmlSchemaRootNamespace

Version 1 (modified by stachnik, 14 years ago) ( diff )

--

  • ASTNode.xsd
    <?xml version="1.0"?>
    <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:asn="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:asrn="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode" xmlns:atn="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode" xmlns:ben="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" xmlns:bn="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" xmlns:btn="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode" xmlns:bvn="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode" xmlns:ctn="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:fdn="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" 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:fvdn="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" xmlns:gvdn="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" 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:itn="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode" xmlns:lbln="http://vsl.cis.udel.edu/ns/tass/LabelNode" 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:lvdn="http://vsl.cis.udel.edu/ns/tass/declaration/LocalVariableDeclarationNode" 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:pn="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode" xmlns:pnn="http://vsl.cis.udel.edu/ns/tass/PairNode" xmlns:ptn="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode" xmlns:retn="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" xmlns:rln="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:rn="http://vsl.cis.udel.edu/ns/tass/ReferenceNode" xmlns:rtn="http://vsl.cis.udel.edu/ns/tass/RootNode" xmlns:rtyn="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" 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:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" xmlns:szn="http://vsl.cis.udel.edu/ns/tass/SizeableNode" xmlns:tdn="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode" xmlns:trn="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" xmlns:vtn="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode">
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" schemaLocation="statement/expression/AssignmentNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode" schemaLocation="statement/AssertStatementNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode" schemaLocation="type/ArrayTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" schemaLocation="statement/expression/BindingExpressionNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" schemaLocation="statement/BlockNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode" schemaLocation="type/BooleanTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode" schemaLocation="declaration/BoundVariableDeclarationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode" schemaLocation="type/CompositeTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="statement/expression/ExpressionNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" schemaLocation="declaration/FunctionDeclarationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode" schemaLocation="statement/expression/FunctionInvocationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" schemaLocation="statement/ForLoopNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" schemaLocation="statement/expression/FunctionReferenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" schemaLocation="declaration/FormalVariableDeclarationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" schemaLocation="GlobalScopeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode" schemaLocation="declaration/GlobalVariableDeclarationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" schemaLocation="IdentifierNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" schemaLocation="statement/expression/IntegerLiteralNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" schemaLocation="statement/expression/IncrementNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode" schemaLocation="statement/IfThenElseStatementNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode" schemaLocation="type/IntegerTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/LabelNode" schemaLocation="LabelNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" schemaLocation="statement/expression/LHSExpressionNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" schemaLocation="statement/expression/LiteralNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode" schemaLocation="statement/LoopNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/LocalVariableDeclarationNode" schemaLocation="declaration/LocalVariableDeclarationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" schemaLocation="statement/expression/ModificationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" schemaLocation="statement/expression/OperatorNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" schemaLocation="statement/expression/PureExpressionNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode" schemaLocation="statement/PragmaNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/PairNode" schemaLocation="PairNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode" schemaLocation="type/PointerTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" schemaLocation="statement/ReturnNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" schemaLocation="statement/expression/RealLiteralNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ReferenceNode" schemaLocation="ReferenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/RootNode" schemaLocation="RootNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" schemaLocation="type/RealTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" schemaLocation="statement/expression/SideEffectExpressionNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="SequenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" schemaLocation="statement/expression/SubscriptNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="statement/StatementNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SizeableNode" schemaLocation="SizeableNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode" schemaLocation="TypeDefinitionNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" schemaLocation="TypeReferenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="type/TypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" schemaLocation="declaration/VariableDeclarationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" schemaLocation="statement/expression/VariableReferenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode" schemaLocation="type/VoidTypeNode.xsd"/>
      <xs:group name="_ASTNodeGroup">
        <xs:sequence>
          <xs:element name="id_ASTNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="ASTNode">
        <xs:choice>
          <xs:group ref="astnode:_ASTNodeGroup"/>
          <xs:group ref="vtn:_VoidTypeNodeGroup"/>
          <xs:group ref="vrn:_VariableReferenceNodeGroup"/>
          <xs:group ref="vdn:_VariableDeclarationNodeGroup"/>
          <xs:group ref="lvdn:_LocalVariableDeclarationNodeGroup"/>
          <xs:group ref="gvdn:_GlobalVariableDeclarationNodeGroup"/>
          <xs:group ref="fvdn:_FormalVariableDeclarationNodeGroup"/>
          <xs:group ref="bvn:_BoundVariableDeclarationNodeGroup"/>
          <xs:group ref="trn:_TypeReferenceNodeGroup"/>
          <xs:group ref="tyn:_TypeNodeGroup"/>
          <xs:group ref="rtyn:_RealTypeNodeGroup"/>
          <xs:group ref="ptn:_PointerTypeNodeGroup"/>
          <xs:group ref="itn:_IntegerTypeNodeGroup"/>
          <xs:group ref="ctn:_CompositeTypeNodeGroup"/>
          <xs:group ref="btn:_BooleanTypeNodeGroup"/>
          <xs:group ref="atn:_ArrayTypeNodeGroup"/>
          <xs:group ref="tdn:_TypeDefinitionNodeGroup"/>
          <xs:group ref="ssn:_SubscriptNodeGroup"/>
          <xs:group ref="stn:_StatementNodeGroup"/>
          <xs:group ref="seen:_SideEffectExpressionNodeGroup"/>
          <xs:group ref="mdn:_ModificationNodeGroup"/>
          <xs:group ref="in:_IncrementNodeGroup"/>
          <xs:group ref="asn:_AssignmentNodeGroup"/>
          <xs:group ref="retn:_ReturnNodeGroup"/>
          <xs:group ref="rln:_RealLiteralNodeGroup"/>
          <xs:group ref="pen:_PureExpressionNodeGroup"/>
          <xs:group ref="on:_OperatorNodeGroup"/>
          <xs:group ref="ln:_LiteralNodeGroup"/>
          <xs:group ref="iln:_IntegerLiteralNodeGroup"/>
          <xs:group ref="lhsn:_LHSExpressionNodeGroup"/>
          <xs:group ref="ben:_BindingExpressionNodeGroup"/>
          <xs:group ref="loopn:_LoopNodeGroup"/>
          <xs:group ref="fln:_ForLoopNodeGroup"/>
          <xs:group ref="ite:_IfThenElseStatementNodeGroup"/>
          <xs:group ref="frn:_FunctionReferenceNodeGroup"/>
          <xs:group ref="fin:_FunctionInvocationNodeGroup"/>
          <xs:group ref="exn:_ExpressionNodeGroup"/>
          <xs:group ref="bn:_BlockNodeGroup"/>
          <xs:group ref="asrn:_AssertStatementNodeGroup"/>
          <xs:group ref="szn:_SizeableNodeGroup"/>
          <xs:group ref="seq:_PairNode_IdentifierNode_TypeNodesGroup"/>
          <xs:group ref="seq:_VariableDeclarationNodesGroup"/>
          <xs:group ref="seq:_StatementNodesGroup"/>
          <xs:group ref="seq:_LabelNodesGroup"/>
          <xs:group ref="seq:_GlobalScopeNodesGroup"/>
          <xs:group ref="seq:_FormalVariableDeclarationNodesGroup"/>
          <xs:group ref="seq:_FileNodesGroup"/>
          <xs:group ref="seq:_ExpressionNodesGroup"/>
          <xs:group ref="rtn:_RootNodeGroup"/>
          <xs:group ref="rn:_ReferenceNodeGroup"/>
          <xs:group ref="pn:_PragmaNodeGroup"/>
          <xs:group ref="pnn:_PairNode_IdentifierNode_TypeNodeGroup"/>
          <xs:group ref="lbln:_LabelNodeGroup"/>
          <xs:group ref="idn:_IdentifierNodeGroup"/>
          <xs:group ref="gsn:_GlobalScopeNodeGroup"/>
          <xs:group ref="fdn:_FunctionDeclarationNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • FileNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/FileNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:file="http://vsl.cis.udel.edu/ns/tass/FileNode">
      <xs:group name="_FileNodeGroup">
        <xs:sequence>
          <xs:element name="id_FileNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="fileName" type="xs:string" minOccurs="1" maxOccurs="1"/>
          <xs:element name="contents" type="xs:string" minOccurs="0" maxOccurs="1"/>
          <xs:element name="isSystem" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="FileNode">
        <xs:choice>
          <xs:group ref="file:_FileNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • GlobalScopeNode.xsd
    <?xml version="1.0"?>
    <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">
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" schemaLocation="declaration/FunctionDeclarationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode" schemaLocation="declaration/GlobalVariableDeclarationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode" schemaLocation="TypeDefinitionNode.xsd"/>
      <xs:group name="_GlobalScopeNodeGroup">
        <xs:sequence>
          <xs:element name="id_GlobalScopeNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="GlobalScopeNode">
        <xs:choice>
          <xs:group ref="gsn:_GlobalScopeNodeGroup"/>
          <xs:group ref="tdn:_TypeDefinitionNodeGroup"/>
          <xs:group ref="gvdn:_GlobalVariableDeclarationNodeGroup"/>
          <xs:group ref="fdn:_FunctionDeclarationNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • IdentifierNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:frn="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:rn="http://vsl.cis.udel.edu/ns/tass/ReferenceNode" xmlns:trn="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode">
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" schemaLocation="statement/expression/FunctionReferenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ReferenceNode" schemaLocation="ReferenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" schemaLocation="TypeReferenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" schemaLocation="statement/expression/VariableReferenceNode.xsd"/>
      <xs:group name="_IdentifierNodeGroup">
        <xs:sequence>
          <xs:element name="id_IdentifierNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="identifier" type="xs:string" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="IdentifierNode">
        <xs:choice>
          <xs:group ref="idn:_IdentifierNodeGroup"/>
          <xs:group ref="vrn:_VariableReferenceNodeGroup"/>
          <xs:group ref="trn:_TypeReferenceNodeGroup"/>
          <xs:group ref="rn:_ReferenceNodeGroup"/>
          <xs:group ref="frn:_FunctionReferenceNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • LabelNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/LabelNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:lbln="http://vsl.cis.udel.edu/ns/tass/LabelNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode">
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" schemaLocation="IdentifierNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="statement/StatementNode.xsd"/>
      <xs:group name="_LabelNodeGroup">
        <xs:sequence>
          <xs:element name="id_LabelNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="stn_statement" type="xs:int" minOccurs="0" maxOccurs="1"/>
          <xs:element name="identifier" type="idn:IdentifierNode" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="LabelNode">
        <xs:choice>
          <xs:group ref="lbln:_LabelNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • PairNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/PairNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pnn="http://vsl.cis.udel.edu/ns/tass/PairNode" 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">
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" schemaLocation="IdentifierNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="type/TypeNode.xsd"/>
      <xs:group name="_PairNode_IdentifierNode_TypeNodeGroup">
        <xs:sequence>
          <xs:element name="id_PairNode_IdentifierNode_TypeNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="left" type="idn:IdentifierNode" minOccurs="1" maxOccurs="1"/>
          <xs:element name="right" type="tyn:TypeNode" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="PairNode_IdentifierNode_TypeNode">
        <xs:choice>
          <xs:group ref="pnn:_PairNode_IdentifierNode_TypeNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • ReferenceNode.xsd
    <?xml version="1.0"?>
    <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">
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" schemaLocation="statement/expression/FunctionReferenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" schemaLocation="TypeReferenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" schemaLocation="statement/expression/VariableReferenceNode.xsd"/>
      <xs:group name="_ReferenceNodeGroup">
        <xs:sequence>
          <xs:element name="id_ReferenceNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="identifier" type="xs:string" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="ReferenceNode">
        <xs:choice>
          <xs:group ref="rn:_ReferenceNodeGroup"/>
          <xs:group ref="vrn:_VariableReferenceNodeGroup"/>
          <xs:group ref="trn:_TypeReferenceNodeGroup"/>
          <xs:group ref="frn:_FunctionReferenceNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • RootNode.xsd
    <?xml version="1.0"?>
    <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">
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" schemaLocation="declaration/FunctionDeclarationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="SequenceNode.xsd"/>
      <xs:group name="_RootNodeGroup">
        <xs:sequence>
          <xs:element name="id_RootNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="fdn_mainFunction" type="xs:int" minOccurs="0" maxOccurs="1"/>
          <xs:element name="globalScopeNodes" type="seq:GlobalScopeNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="files" type="seq:FileNodes" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="RootNode">
        <xs:choice>
          <xs:group ref="rtn:_RootNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • SequenceNode.xsd
    <?xml version="1.0"?>
    <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">
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="statement/expression/ExpressionNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/FileNode" schemaLocation="FileNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" schemaLocation="declaration/FormalVariableDeclarationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" schemaLocation="GlobalScopeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/LabelNode" schemaLocation="LabelNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/PairNode" schemaLocation="PairNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="statement/StatementNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" schemaLocation="declaration/VariableDeclarationNode.xsd"/>
      <xs:group name="_ExpressionNodesGroup">
        <xs:sequence>
          <xs:element name="id_ExpressionNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:sequence maxOccurs="unbounded">
            <xs:element name="child" type="exn:ExpressionNode" minOccurs="0" maxOccurs="1"/>
          </xs:sequence>
        </xs:sequence>
      </xs:group>
      <xs:group name="_FileNodesGroup">
        <xs:sequence>
          <xs:element name="id_FileNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:sequence maxOccurs="unbounded">
            <xs:element name="child" type="file:FileNode" minOccurs="0" maxOccurs="1"/>
          </xs:sequence>
        </xs:sequence>
      </xs:group>
      <xs:group name="_FormalVariableDeclarationNodesGroup">
        <xs:sequence>
          <xs:element name="id_FormalVariableDeclarationNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:sequence maxOccurs="unbounded">
            <xs:element name="child" type="fvdn:FormalVariableDeclarationNode" minOccurs="0" maxOccurs="1"/>
          </xs:sequence>
        </xs:sequence>
      </xs:group>
      <xs:group name="_GlobalScopeNodesGroup">
        <xs:sequence>
          <xs:element name="id_GlobalScopeNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:sequence maxOccurs="unbounded">
            <xs:element name="child" type="gsn:GlobalScopeNode" minOccurs="0" maxOccurs="1"/>
          </xs:sequence>
        </xs:sequence>
      </xs:group>
      <xs:group name="_LabelNodesGroup">
        <xs:sequence>
          <xs:element name="id_LabelNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:sequence maxOccurs="unbounded">
            <xs:element name="child" type="lbln:LabelNode" minOccurs="0" maxOccurs="1"/>
          </xs:sequence>
        </xs:sequence>
      </xs:group>
      <xs:group name="_StatementNodesGroup">
        <xs:sequence>
          <xs:element name="id_StatementNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:sequence maxOccurs="unbounded">
            <xs:element name="child" type="stn:StatementNode" minOccurs="0" maxOccurs="1"/>
          </xs:sequence>
        </xs:sequence>
      </xs:group>
      <xs:group name="_VariableDeclarationNodesGroup">
        <xs:sequence>
          <xs:element name="id_VariableDeclarationNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:sequence maxOccurs="unbounded">
            <xs:element name="child" type="vdn:VariableDeclarationNode" minOccurs="0" maxOccurs="1"/>
          </xs:sequence>
        </xs:sequence>
      </xs:group>
      <xs:group name="_PairNode_IdentifierNode_TypeNodesGroup">
        <xs:sequence>
          <xs:element name="id_PairNode_IdentifierNode_TypeNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:sequence maxOccurs="unbounded">
            <xs:element name="child" type="pnn:PairNode_IdentifierNode_TypeNode" minOccurs="0" maxOccurs="1"/>
          </xs:sequence>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="ExpressionNodes">
        <xs:choice>
          <xs:group ref="seq:_ExpressionNodesGroup"/>
        </xs:choice>
      </xs:complexType>
      <xs:complexType name="FileNodes">
        <xs:choice>
          <xs:group ref="seq:_FileNodesGroup"/>
        </xs:choice>
      </xs:complexType>
      <xs:complexType name="FormalVariableDeclarationNodes">
        <xs:choice>
          <xs:group ref="seq:_FormalVariableDeclarationNodesGroup"/>
        </xs:choice>
      </xs:complexType>
      <xs:complexType name="GlobalScopeNodes">
        <xs:choice>
          <xs:group ref="seq:_GlobalScopeNodesGroup"/>
        </xs:choice>
      </xs:complexType>
      <xs:complexType name="LabelNodes">
        <xs:choice>
          <xs:group ref="seq:_LabelNodesGroup"/>
        </xs:choice>
      </xs:complexType>
      <xs:complexType name="StatementNodes">
        <xs:choice>
          <xs:group ref="seq:_StatementNodesGroup"/>
        </xs:choice>
      </xs:complexType>
      <xs:complexType name="VariableDeclarationNodes">
        <xs:choice>
          <xs:group ref="seq:_VariableDeclarationNodesGroup"/>
        </xs:choice>
      </xs:complexType>
      <xs:complexType name="PairNode_IdentifierNode_TypeNodes">
        <xs:choice>
          <xs:group ref="seq:_PairNode_IdentifierNode_TypeNodesGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • SizeableNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/SizeableNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:szn="http://vsl.cis.udel.edu/ns/tass/SizeableNode" xmlns:atn="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode" xmlns:btn="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode" xmlns:ctn="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode" xmlns:itn="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:ptn="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode" xmlns:rtyn="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" xmlns:vtn="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode">
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode" schemaLocation="type/ArrayTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode" schemaLocation="type/BooleanTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode" schemaLocation="type/CompositeTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode" schemaLocation="type/IntegerTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode" schemaLocation="type/PointerTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" schemaLocation="type/RealTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="type/TypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode" schemaLocation="type/VoidTypeNode.xsd"/>
      <xs:group name="_SizeableNodeGroup">
        <xs:sequence>
          <xs:element name="id_SizeableNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="SizeableNode">
        <xs:choice>
          <xs:group ref="szn:_SizeableNodeGroup"/>
          <xs:group ref="vtn:_VoidTypeNodeGroup"/>
          <xs:group ref="tyn:_TypeNodeGroup"/>
          <xs:group ref="rtyn:_RealTypeNodeGroup"/>
          <xs:group ref="ptn:_PointerTypeNodeGroup"/>
          <xs:group ref="itn:_IntegerTypeNodeGroup"/>
          <xs:group ref="ctn:_CompositeTypeNodeGroup"/>
          <xs:group ref="btn:_BooleanTypeNodeGroup"/>
          <xs:group ref="atn:_ArrayTypeNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • TypeDefinitionNode.xsd
    <?xml version="1.0"?>
    <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">
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" schemaLocation="IdentifierNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="type/TypeNode.xsd"/>
      <xs:group name="_TypeDefinitionNodeGroup">
        <xs:sequence>
          <xs:element name="id_TypeDefinitionNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="identifier" type="idn:IdentifierNode" minOccurs="1" maxOccurs="1"/>
          <xs:element name="type" type="tyn:TypeNode" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="TypeDefinitionNode">
        <xs:choice>
          <xs:group ref="tdn:_TypeDefinitionNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • TypeReferenceNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:trn="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc">
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
      <xs:group name="_TypeReferenceNodeGroup">
        <xs:sequence>
          <xs:element name="id_TypeReferenceNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="identifier" type="xs:string" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="TypeReferenceNode">
        <xs:choice>
          <xs:group ref="trn:_TypeReferenceNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • misc.xsd
    <?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
               targetNamespace="http://vsl.cis.udel.edu/ns/tass/misc"
               xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
               elementFormDefault="qualified">
    
      <xs:simpleType name="Quantifier">
        <xs:restriction base="xs:string">
          <xs:enumeration value="FORALL" />
          <xs:enumeration value="EXISTS" />
          <xs:enumeration value="LAMBDA" />
          <xs:enumeration value="UNIFORM" />
          <xs:enumeration value="SUM" />
        </xs:restriction>
      </xs:simpleType>
    
      <xs:simpleType name="AST_OPERATOR">
        <xs:restriction base="xs:string">
          <xs:whiteSpace value="collapse" />
          <xs:enumeration value="ADD" />
          <xs:enumeration value="ADD_POINTER_INT" />
          <xs:enumeration value="ADDRESS_OF" />
          <xs:enumeration value="BIT_AND" />
          <xs:enumeration value="BIT_NOT" />
          <xs:enumeration value="BIT_OR" />
          <xs:enumeration value="BIT_XOR" />
          <xs:enumeration value="COND" />
          <xs:enumeration value="COMMA" />
          <xs:enumeration value="DIVIDE" />
          <xs:enumeration value="EQUALS" />
          <xs:enumeration value="GREATER_THAN" />
          <xs:enumeration value="GTE" />
          <xs:enumeration value="LEQ" />
          <xs:enumeration value="LESS_THAN" />
          <xs:enumeration value="LOGICAL_AND" />
          <xs:enumeration value="LOGICAL_NOT" />
          <xs:enumeration value="LOGICAL_OR" />
          <xs:enumeration value="MODULO" />
          <xs:enumeration value="MULTIPLY" />
          <xs:enumeration value="NEGATIVE" />
          <xs:enumeration value="NOT_EQUALS" />
          <xs:enumeration value="SHIFT_LEFT" />
          <xs:enumeration value="SHIFT_RIGHT" />
          <xs:enumeration value="SUBTRACT" />
          <xs:enumeration value="SUBTRACT_POINTER_INT" />
          <xs:enumeration value="SUBTRACT_POINTER_POINTER" />
        </xs:restriction>
      </xs:simpleType>
    
      <xs:simpleType name="StorageClass">
        <xs:restriction base="xs:string">
          <xs:enumeration value="EXTERNAL" />
          <xs:enumeration value="AUTO" />
          <xs:enumeration value="STATIC" />
          <xs:enumeration value="REGISTER" />
        </xs:restriction>
      </xs:simpleType>
    
      <xs:simpleType name="AST_ASSIGNMENT_TYPE">
        <xs:restriction base="xs:string">
          <xs:whiteSpace value="collapse" />
          <xs:enumeration value="SIMPLE" />
          <xs:enumeration value="MULTIPLICATION" />
          <xs:enumeration value="DIVISION" />
          <xs:enumeration value="REMAINDER" />
          <xs:enumeration value="ADDITION" />
          <xs:enumeration value="SUBTRACTION" />
          <xs:enumeration value="LEFT" />
          <xs:enumeration value="RIGHT" />
          <xs:enumeration value="AND" />
          <xs:enumeration value="XOR" />
          <xs:enumeration value="OR" />
        </xs:restriction>
      </xs:simpleType>
    
      <xs:simpleType name="IntType">
        <xs:restriction base="xs:string">
          <xs:enumeration value="CHAR" />
          <xs:enumeration value="SHORT" />
          <xs:enumeration value="INT" />
          <xs:enumeration value="LONG" />
          <xs:enumeration value="LONGLONG" />
        </xs:restriction>
      </xs:simpleType>
    
      <xs:simpleType name="FloatType">
        <xs:restriction base="xs:string">
          <xs:enumeration value="FLOAT" />
          <xs:enumeration value="DOUBLE" />
          <xs:enumeration value="LONG" />
        </xs:restriction>
      </xs:simpleType>
    
      <xs:complexType name="Source">
        <xs:attribute name="region" type="misc:SourceRegion" use="required" />
        <xs:attribute name="fileRef" type="xs:integer" use="required" />
      </xs:complexType>
    
      <xs:simpleType name="SourceRegion">
        <xs:restriction base="xs:string">
          <xs:annotation>
            <xs:documentation xml:lang="en-US">
              This type represents a region of source file and is to be
              parsed as the following:
              [startLine],[startColumn],[endLine],[endColumn]
              It is assumed that: endLine &gt;= startLine
              and if endLine == startLine that endColumn &gt; startColumn
            </xs:documentation>
          </xs:annotation>
          <xs:pattern value="\d+,\d+,\d+,\d+" />
        </xs:restriction>
      </xs:simpleType>
      
    </xs:schema>
    
  • tass_ast.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/tass_ast" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:scroot="http://vsl.cis.udel.edu/ns/tass/tass_ast" xmlns:asn="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:asrn="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:atn="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode" xmlns:ben="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" xmlns:bn="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" xmlns:btn="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode" xmlns:bvn="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode" xmlns:ctn="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:fdn="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" xmlns:file="http://vsl.cis.udel.edu/ns/tass/FileNode" 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:fvdn="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" xmlns:gvdn="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" 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:itn="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode" xmlns:lbln="http://vsl.cis.udel.edu/ns/tass/LabelNode" 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:lvdn="http://vsl.cis.udel.edu/ns/tass/declaration/LocalVariableDeclarationNode" xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" 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:pn="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode" xmlns:pnn="http://vsl.cis.udel.edu/ns/tass/PairNode" xmlns:ptn="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode" xmlns:retn="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" xmlns:rln="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:rn="http://vsl.cis.udel.edu/ns/tass/ReferenceNode" xmlns:rtn="http://vsl.cis.udel.edu/ns/tass/RootNode" xmlns:rtyn="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" 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:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" xmlns:szn="http://vsl.cis.udel.edu/ns/tass/SizeableNode" xmlns:tdn="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode" xmlns:trn="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" xmlns:vtn="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode">
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" schemaLocation="statement/expression/AssignmentNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode" schemaLocation="statement/AssertStatementNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode" schemaLocation="ASTNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode" schemaLocation="type/ArrayTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" schemaLocation="statement/expression/BindingExpressionNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" schemaLocation="statement/BlockNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode" schemaLocation="type/BooleanTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode" schemaLocation="declaration/BoundVariableDeclarationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode" schemaLocation="type/CompositeTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="statement/expression/ExpressionNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" schemaLocation="declaration/FunctionDeclarationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/FileNode" schemaLocation="FileNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode" schemaLocation="statement/expression/FunctionInvocationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" schemaLocation="statement/ForLoopNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" schemaLocation="statement/expression/FunctionReferenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" schemaLocation="declaration/FormalVariableDeclarationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" schemaLocation="GlobalScopeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode" schemaLocation="declaration/GlobalVariableDeclarationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" schemaLocation="IdentifierNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" schemaLocation="statement/expression/IntegerLiteralNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" schemaLocation="statement/expression/IncrementNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode" schemaLocation="statement/IfThenElseStatementNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode" schemaLocation="type/IntegerTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/LabelNode" schemaLocation="LabelNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" schemaLocation="statement/expression/LHSExpressionNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" schemaLocation="statement/expression/LiteralNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode" schemaLocation="statement/LoopNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/LocalVariableDeclarationNode" schemaLocation="declaration/LocalVariableDeclarationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" schemaLocation="statement/expression/ModificationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" schemaLocation="statement/expression/OperatorNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" schemaLocation="statement/expression/PureExpressionNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode" schemaLocation="statement/PragmaNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/PairNode" schemaLocation="PairNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode" schemaLocation="type/PointerTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" schemaLocation="statement/ReturnNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" schemaLocation="statement/expression/RealLiteralNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ReferenceNode" schemaLocation="ReferenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/RootNode" schemaLocation="RootNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" schemaLocation="type/RealTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" schemaLocation="statement/expression/SideEffectExpressionNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="SequenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" schemaLocation="statement/expression/SubscriptNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="statement/StatementNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SizeableNode" schemaLocation="SizeableNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode" schemaLocation="TypeDefinitionNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" schemaLocation="TypeReferenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="type/TypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" schemaLocation="declaration/VariableDeclarationNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" schemaLocation="statement/expression/VariableReferenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode" schemaLocation="type/VoidTypeNode.xsd"/>
      <xs:element name="rootNode" type="rtn:RootNode">
        <xs:unique name="_universal_uniqueness">
          <xs:selector xpath=".//id_ASTNode|.//id_ArrayTypeNode|.//id_AssertStatementNode|.//id_AssignmentNode|.//id_BindingExpressionNode|.//id_BlockNode|.//id_BooleanTypeNode|.//id_BoundVariableDeclarationNode|.//id_CompositeTypeNode|.//id_ExpressionNode|.//id_FileNode|.//id_ForLoopNode|.//id_FormalVariableDeclarationNode|.//id_FunctionDeclarationNode|.//id_FunctionInvocationNode|.//id_FunctionReferenceNode|.//id_GlobalScopeNode|.//id_GlobalVariableDeclarationNode|.//id_IdentifierNode|.//id_IfThenElseStatementNode|.//id_IncrementNode|.//id_IntegerLiteralNode|.//id_IntegerTypeNode|.//id_LHSExpressionNode|.//id_LabelNode|.//id_LiteralNode|.//id_LocalVariableDeclarationNode|.//id_LoopNode|.//id_ModificationNode|.//id_OperatorNode|.//id_PairNode_IdentifierNode_TypeNode|.//id_PointerTypeNode|.//id_PragmaNode|.//id_PureExpressionNode|.//id_RealLiteralNode|.//id_RealTypeNode|.//id_ReferenceNode|.//id_ReturnNode|.//id_RootNode|.//id_ExpressionNodes|.//id_FileNodes|.//id_FormalVariableDeclarationNodes|.//id_GlobalScopeNodes|.//id_LabelNodes|.//id_StatementNodes|.//id_VariableDeclarationNodes|.//id_PairNode_IdentifierNode_TypeNodes|.//id_SideEffectExpressionNode|.//id_SizeableNode|.//id_StatementNode|.//id_SubscriptNode|.//id_TypeDefinitionNode|.//id_TypeNode|.//id_TypeReferenceNode|.//id_VariableDeclarationNode|.//id_VariableReferenceNode|.//id_VoidTypeNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_ASTNode">
          <xs:selector xpath=".//id_ASTNode|.//id_VoidTypeNode|.//id_VariableReferenceNode|.//id_VariableDeclarationNode|.//id_LocalVariableDeclarationNode|.//id_GlobalVariableDeclarationNode|.//id_FormalVariableDeclarationNode|.//id_BoundVariableDeclarationNode|.//id_TypeReferenceNode|.//id_TypeNode|.//id_RealTypeNode|.//id_PointerTypeNode|.//id_IntegerTypeNode|.//id_CompositeTypeNode|.//id_BooleanTypeNode|.//id_ArrayTypeNode|.//id_TypeDefinitionNode|.//id_SubscriptNode|.//id_StatementNode|.//id_SideEffectExpressionNode|.//id_ModificationNode|.//id_IncrementNode|.//id_AssignmentNode|.//id_ReturnNode|.//id_RealLiteralNode|.//id_PureExpressionNode|.//id_OperatorNode|.//id_LiteralNode|.//id_IntegerLiteralNode|.//id_LHSExpressionNode|.//id_BindingExpressionNode|.//id_LoopNode|.//id_ForLoopNode|.//id_IfThenElseStatementNode|.//id_FunctionReferenceNode|.//id_FunctionInvocationNode|.//id_ExpressionNode|.//id_BlockNode|.//id_AssertStatementNode|.//id_SizeableNode|.//id_PairNode_IdentifierNode_TypeNodes|.//id_VariableDeclarationNodes|.//id_StatementNodes|.//id_LabelNodes|.//id_GlobalScopeNodes|.//id_FormalVariableDeclarationNodes|.//id_FileNodes|.//id_ExpressionNodes|.//id_RootNode|.//id_ReferenceNode|.//id_PragmaNode|.//id_PairNode_IdentifierNode_TypeNode|.//id_LabelNode|.//id_IdentifierNode|.//id_GlobalScopeNode|.//id_FunctionDeclarationNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_ArrayTypeNode">
          <xs:selector xpath=".//id_ArrayTypeNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_AssertStatementNode">
          <xs:selector xpath=".//id_AssertStatementNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_AssignmentNode">
          <xs:selector xpath=".//id_AssignmentNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_BindingExpressionNode">
          <xs:selector xpath=".//id_BindingExpressionNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_BlockNode">
          <xs:selector xpath=".//id_BlockNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_BooleanTypeNode">
          <xs:selector xpath=".//id_BooleanTypeNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_BoundVariableDeclarationNode">
          <xs:selector xpath=".//id_BoundVariableDeclarationNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_CompositeTypeNode">
          <xs:selector xpath=".//id_CompositeTypeNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_ExpressionNode">
          <xs:selector xpath=".//id_ExpressionNode|.//id_VariableReferenceNode|.//id_SubscriptNode|.//id_SideEffectExpressionNode|.//id_ModificationNode|.//id_IncrementNode|.//id_AssignmentNode|.//id_RealLiteralNode|.//id_PureExpressionNode|.//id_OperatorNode|.//id_LiteralNode|.//id_IntegerLiteralNode|.//id_LHSExpressionNode|.//id_BindingExpressionNode|.//id_FunctionReferenceNode|.//id_FunctionInvocationNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_FileNode">
          <xs:selector xpath=".//id_FileNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_ForLoopNode">
          <xs:selector xpath=".//id_ForLoopNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_FormalVariableDeclarationNode">
          <xs:selector xpath=".//id_FormalVariableDeclarationNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_FunctionDeclarationNode">
          <xs:selector xpath=".//id_FunctionDeclarationNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_FunctionInvocationNode">
          <xs:selector xpath=".//id_FunctionInvocationNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_FunctionReferenceNode">
          <xs:selector xpath=".//id_FunctionReferenceNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_GlobalScopeNode">
          <xs:selector xpath=".//id_GlobalScopeNode|.//id_TypeDefinitionNode|.//id_GlobalVariableDeclarationNode|.//id_FunctionDeclarationNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_GlobalVariableDeclarationNode">
          <xs:selector xpath=".//id_GlobalVariableDeclarationNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_IdentifierNode">
          <xs:selector xpath=".//id_IdentifierNode|.//id_VariableReferenceNode|.//id_TypeReferenceNode|.//id_ReferenceNode|.//id_FunctionReferenceNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_IfThenElseStatementNode">
          <xs:selector xpath=".//id_IfThenElseStatementNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_IncrementNode">
          <xs:selector xpath=".//id_IncrementNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_IntegerLiteralNode">
          <xs:selector xpath=".//id_IntegerLiteralNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_IntegerTypeNode">
          <xs:selector xpath=".//id_IntegerTypeNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_LHSExpressionNode">
          <xs:selector xpath=".//id_LHSExpressionNode|.//id_VariableReferenceNode|.//id_SubscriptNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_LabelNode">
          <xs:selector xpath=".//id_LabelNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_LiteralNode">
          <xs:selector xpath=".//id_LiteralNode|.//id_RealLiteralNode|.//id_IntegerLiteralNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_LocalVariableDeclarationNode">
          <xs:selector xpath=".//id_LocalVariableDeclarationNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_LoopNode">
          <xs:selector xpath=".//id_LoopNode|.//id_ForLoopNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_ModificationNode">
          <xs:selector xpath=".//id_ModificationNode|.//id_IncrementNode|.//id_AssignmentNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_OperatorNode">
          <xs:selector xpath=".//id_OperatorNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_PairNode_IdentifierNode_TypeNode">
          <xs:selector xpath=".//id_PairNode_IdentifierNode_TypeNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_PointerTypeNode">
          <xs:selector xpath=".//id_PointerTypeNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_PragmaNode">
          <xs:selector xpath=".//id_PragmaNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_PureExpressionNode">
          <xs:selector xpath=".//id_PureExpressionNode|.//id_VariableReferenceNode|.//id_SubscriptNode|.//id_RealLiteralNode|.//id_OperatorNode|.//id_LiteralNode|.//id_IntegerLiteralNode|.//id_LHSExpressionNode|.//id_BindingExpressionNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_RealLiteralNode">
          <xs:selector xpath=".//id_RealLiteralNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_RealTypeNode">
          <xs:selector xpath=".//id_RealTypeNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_ReferenceNode">
          <xs:selector xpath=".//id_ReferenceNode|.//id_VariableReferenceNode|.//id_TypeReferenceNode|.//id_FunctionReferenceNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_ReturnNode">
          <xs:selector xpath=".//id_ReturnNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_RootNode">
          <xs:selector xpath=".//id_RootNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_SequenceNode_ExpressionNode">
          <xs:selector xpath=".//id_ExpressionNodes"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_SequenceNode_FileNode">
          <xs:selector xpath=".//id_FileNodes"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_SequenceNode_FormalVariableDeclarationNode">
          <xs:selector xpath=".//id_FormalVariableDeclarationNodes"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_SequenceNode_GlobalScopeNode">
          <xs:selector xpath=".//id_GlobalScopeNodes"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_SequenceNode_LabelNode">
          <xs:selector xpath=".//id_LabelNodes"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_SequenceNode_StatementNode">
          <xs:selector xpath=".//id_StatementNodes"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_SequenceNode_VariableDeclarationNode">
          <xs:selector xpath=".//id_VariableDeclarationNodes"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_SequenceNode_PairNode_IdentifierNode_TypeNode">
          <xs:selector xpath=".//id_PairNode_IdentifierNode_TypeNodes"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_SideEffectExpressionNode">
          <xs:selector xpath=".//id_SideEffectExpressionNode|.//id_ModificationNode|.//id_IncrementNode|.//id_AssignmentNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_SizeableNode">
          <xs:selector xpath=".//id_SizeableNode|.//id_VoidTypeNode|.//id_TypeNode|.//id_RealTypeNode|.//id_PointerTypeNode|.//id_IntegerTypeNode|.//id_CompositeTypeNode|.//id_BooleanTypeNode|.//id_ArrayTypeNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_StatementNode">
          <xs:selector xpath=".//id_StatementNode|.//id_VariableReferenceNode|.//id_SubscriptNode|.//id_SideEffectExpressionNode|.//id_ModificationNode|.//id_IncrementNode|.//id_AssignmentNode|.//id_ReturnNode|.//id_RealLiteralNode|.//id_PureExpressionNode|.//id_OperatorNode|.//id_LiteralNode|.//id_IntegerLiteralNode|.//id_LHSExpressionNode|.//id_BindingExpressionNode|.//id_LoopNode|.//id_ForLoopNode|.//id_IfThenElseStatementNode|.//id_FunctionReferenceNode|.//id_FunctionInvocationNode|.//id_ExpressionNode|.//id_BlockNode|.//id_AssertStatementNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_SubscriptNode">
          <xs:selector xpath=".//id_SubscriptNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_TypeDefinitionNode">
          <xs:selector xpath=".//id_TypeDefinitionNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_TypeNode">
          <xs:selector xpath=".//id_TypeNode|.//id_VoidTypeNode|.//id_RealTypeNode|.//id_PointerTypeNode|.//id_IntegerTypeNode|.//id_CompositeTypeNode|.//id_BooleanTypeNode|.//id_ArrayTypeNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_TypeReferenceNode">
          <xs:selector xpath=".//id_TypeReferenceNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_VariableDeclarationNode">
          <xs:selector xpath=".//id_VariableDeclarationNode|.//id_LocalVariableDeclarationNode|.//id_GlobalVariableDeclarationNode|.//id_FormalVariableDeclarationNode|.//id_BoundVariableDeclarationNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_VariableReferenceNode">
          <xs:selector xpath=".//id_VariableReferenceNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:unique name="_unique_VoidTypeNode">
          <xs:selector xpath=".//id_VoidTypeNode"/>
          <xs:field xpath="."/>
        </xs:unique>
        <xs:keyref name="_ref_ben_containingExpression" refer="scroot:_unique_BindingExpressionNode">
          <xs:selector xpath=".//ben_containingExpression"/>
          <xs:field xpath="."/>
        </xs:keyref>
        <xs:keyref name="_ref_fdn_function" refer="scroot:_unique_FunctionDeclarationNode">
          <xs:selector xpath=".//fdn_function"/>
          <xs:field xpath="."/>
        </xs:keyref>
        <xs:keyref name="_ref_fdn_definition" refer="scroot:_unique_FunctionDeclarationNode">
          <xs:selector xpath=".//fdn_definition"/>
          <xs:field xpath="."/>
        </xs:keyref>
        <xs:keyref name="_ref_fdn_referent" refer="scroot:_unique_FunctionDeclarationNode">
          <xs:selector xpath=".//fdn_referent"/>
          <xs:field xpath="."/>
        </xs:keyref>
        <xs:keyref name="_ref_vdn_definition" refer="scroot:_unique_VariableDeclarationNode">
          <xs:selector xpath=".//vdn_definition"/>
          <xs:field xpath="."/>
        </xs:keyref>
        <xs:keyref name="_ref_stn_statement" refer="scroot:_unique_StatementNode">
          <xs:selector xpath=".//stn_statement"/>
          <xs:field xpath="."/>
        </xs:keyref>
        <xs:keyref name="_ref_bn_block" refer="scroot:_unique_BlockNode">
          <xs:selector xpath=".//bn_block"/>
          <xs:field xpath="."/>
        </xs:keyref>
        <xs:keyref name="_ref_fdn_mainFunction" refer="scroot:_unique_FunctionDeclarationNode">
          <xs:selector xpath=".//fdn_mainFunction"/>
          <xs:field xpath="."/>
        </xs:keyref>
        <xs:keyref name="_ref_vdn_referent" refer="scro
    
Note: See TracWiki for help on using the wiki.