wiki:AST Schema

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

--

  • Example XML File
    <?xml version="1.0" standalone="yes"?>
    <scroot:rootNode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://vsl.cis.udel.edu/ns/tass/tass_ast
                                  tass_ast.xsd"
              xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:scroot="http://vsl.cis.udel.edu/ns/tass/tass_ast">
      <id_RootNode>1</id_RootNode>
      <fdn_mainFunction>4</fdn_mainFunction>
      <globalScopeNodes>
        <id_GlobalScopeNodes>2</id_GlobalScopeNodes>
        <child>
          <id_FunctionDeclarationNode>4</id_FunctionDeclarationNode>
          <identifier>
            <id_IdentifierNode>5</id_IdentifierNode>
            <name>test</name>
          </identifier>
          <outputType>
            <id_TypeNode>6</id_TypeNode>
          </outputType>
          <formals>
            <id_FormalVariableDeclarationNodes>7</id_FormalVariableDeclarationNodes>
          </formals>
        </child>
      </globalScopeNodes>
      
    </scroot:rootNode>
    
  • 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>
    
  • statement/ForLoopNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fln="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode">
      <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/misc" schemaLocation="../misc.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/SequenceNode" schemaLocation="../SequenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="../statement/StatementNode.xsd"/>
      <xs:group name="_ForLoopNodeGroup">
        <xs:sequence>
          <xs:element name="id_ForLoopNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="body" type="stn:StatementNode" minOccurs="1" maxOccurs="1"/>
          <xs:element name="invariants" type="pen:PureExpressionNode" minOccurs="0" maxOccurs="1"/>
          <xs:element name="initializer" type="stn:StatementNode" minOccurs="1" maxOccurs="1"/>
          <xs:element name="condition" type="exn:ExpressionNode" minOccurs="1" maxOccurs="1"/>
          <xs:element name="incrementer" type="stn:StatementNode" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="ForLoopNode">
        <xs:choice>
          <xs:group ref="fln:_ForLoopNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/IfThenElseStatementNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ite="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode">
      <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/misc" schemaLocation="../misc.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/StatementNode" schemaLocation="../statement/StatementNode.xsd"/>
      <xs:group name="_IfThenElseStatementNodeGroup">
        <xs:sequence>
          <xs:element name="id_IfThenElseStatementNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="condition" type="exn:ExpressionNode" minOccurs="1" maxOccurs="1"/>
          <xs:element name="trueBranch" type="stn:StatementNode" minOccurs="1" maxOccurs="1"/>
          <xs:element name="falseBranch" type="stn:StatementNode" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="IfThenElseStatementNode">
        <xs:choice>
          <xs:group ref="ite:_IfThenElseStatementNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/LoopNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:loopn="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode" xmlns:fln="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode">
      <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/misc" schemaLocation="../misc.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/SequenceNode" schemaLocation="../SequenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="../statement/StatementNode.xsd"/>
      <xs:group name="_LoopNodeGroup">
        <xs:sequence>
          <xs:element name="id_LoopNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="body" type="stn:StatementNode" minOccurs="1" maxOccurs="1"/>
          <xs:element name="invariants" type="pen:PureExpressionNode" minOccurs="0" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="LoopNode">
        <xs:choice>
          <xs:group ref="loopn:_LoopNodeGroup"/>
          <xs:group ref="fln:_ForLoopNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/AssertStatementNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:asrn="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
      <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/misc" schemaLocation="../misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../SequenceNode.xsd"/>
      <xs:group name="_AssertStatementNodeGroup">
        <xs:sequence>
          <xs:element name="id_AssertStatementNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="predicate" type="exn:ExpressionNode" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="AssertStatementNode">
        <xs:choice>
          <xs:group ref="asrn:_AssertStatementNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/expression/OperatorNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:on="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
      <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/misc" schemaLocation="../../misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
      <xs:group name="_OperatorNodeGroup">
        <xs:sequence>
          <xs:element name="id_OperatorNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="operator" type="misc:AST_OPERATOR" minOccurs="1" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="argument" type="exn:ExpressionNode" minOccurs="1" maxOccurs="3"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="OperatorNode">
        <xs:choice>
          <xs:group ref="on:_OperatorNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/expression/VariableReferenceNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode">
      <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:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" schemaLocation="../../declaration/VariableDeclarationNode.xsd"/>
      <xs:group name="_VariableReferenceNodeGroup">
        <xs:sequence>
          <xs:element name="id_VariableReferenceNode" 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:element name="vdn_referent" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="VariableReferenceNode">
        <xs:choice>
          <xs:group ref="vrn:_VariableReferenceNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/expression/IncrementNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:in="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
      <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/misc" schemaLocation="../../misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
      <xs:group name="_IncrementNodeGroup">
        <xs:sequence>
          <xs:element name="id_IncrementNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="prefix" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
          <xs:element name="increment" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="lhs" type="lhsn:LHSExpressionNode" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="IncrementNode">
        <xs:choice>
          <xs:group ref="in:_IncrementNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/expression/SubscriptNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ssn="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
      <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/misc" schemaLocation="../../misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
      <xs:group name="_SubscriptNodeGroup">
        <xs:sequence>
          <xs:element name="id_SubscriptNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="arrayExpression" type="exn:ExpressionNode" minOccurs="1" maxOccurs="1"/>
          <xs:element name="indexExpression" type="exn:ExpressionNode" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="SubscriptNode">
        <xs:choice>
          <xs:group ref="ssn:_SubscriptNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/expression/AssignmentNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:asn="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
      <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/misc" schemaLocation="../../misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
      <xs:group name="_AssignmentNodeGroup">
        <xs:sequence>
          <xs:element name="id_AssignmentNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="lhs" type="lhsn:LHSExpressionNode" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="AssignmentNode">
        <xs:choice>
          <xs:group ref="asn:_AssignmentNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/expression/SideEffectExpressionNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:seen="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" xmlns:asn="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:in="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
      <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/expression/IncrementNode" schemaLocation="../../statement/expression/IncrementNode.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/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
      <xs:group name="_SideEffectExpressionNodeGroup">
        <xs:sequence>
          <xs:element name="id_SideEffectExpressionNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="SideEffectExpressionNode">
        <xs:choice>
          <xs:group ref="seen:_SideEffectExpressionNodeGroup"/>
          <xs:group ref="mdn:_ModificationNodeGroup"/>
          <xs:group ref="in:_IncrementNodeGroup"/>
          <xs:group ref="asn:_AssignmentNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/expression/LHSExpressionNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:ssn="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode">
      <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: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/expression/VariableReferenceNode" schemaLocation="../../statement/expression/VariableReferenceNode.xsd"/>
      <xs:group name="_LHSExpressionNodeGroup">
        <xs:sequence>
          <xs:element name="id_LHSExpressionNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="LHSExpressionNode">
        <xs:choice>
          <xs:group ref="lhsn:_LHSExpressionNodeGroup"/>
          <xs:group ref="vrn:_VariableReferenceNodeGroup"/>
          <xs:group ref="ssn:_SubscriptNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/expression/ModificationNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" xmlns:asn="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:in="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
      <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/expression/IncrementNode" schemaLocation="../../statement/expression/IncrementNode.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/misc" schemaLocation="../../misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
      <xs:group name="_ModificationNodeGroup">
        <xs:sequence>
          <xs:element name="id_ModificationNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="lhs" type="lhsn:LHSExpressionNode" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="ModificationNode">
        <xs:choice>
          <xs:group ref="mdn:_ModificationNodeGroup"/>
          <xs:group ref="in:_IncrementNodeGroup"/>
          <xs:group ref="asn:_AssignmentNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/expression/FunctionReferenceNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:frn="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" xmlns:fdn="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
      <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="_FunctionReferenceNodeGroup">
        <xs:sequence>
          <xs:element name="id_FunctionReferenceNode" 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:element name="fdn_referent" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="FunctionReferenceNode">
        <xs:choice>
          <xs:group ref="frn:_FunctionReferenceNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/expression/LiteralNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ln="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:iln="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:rln="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode">
      <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/misc" schemaLocation="../../misc.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/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="../../type/TypeNode.xsd"/>
      <xs:group name="_LiteralNodeGroup">
        <xs:sequence>
          <xs:element name="id_LiteralNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="name" type="idn:IdentifierNode" minOccurs="0" maxOccurs="1"/>
          <xs:element name="type" type="tyn:TypeNode" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="LiteralNode">
        <xs:choice>
          <xs:group ref="ln:_LiteralNodeGroup"/>
          <xs:group ref="rln:_RealLiteralNodeGroup"/>
          <xs:group ref="iln:_IntegerLiteralNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/expression/ExpressionNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:asn="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:ben="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" xmlns:fin="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode" xmlns:frn="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" xmlns:iln="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" xmlns:in="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:ln="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:on="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:rln="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:seen="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:ssn="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode">
      <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/expression/BindingExpressionNode" schemaLocation="../../statement/expression/BindingExpressionNode.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/expression/FunctionReferenceNode" schemaLocation="../../statement/expression/FunctionReferenceNode.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/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/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/expression/RealLiteralNode" schemaLocation="../../statement/expression/RealLiteralNode.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/expression/VariableReferenceNode" schemaLocation="../../statement/expression/VariableReferenceNode.xsd"/>
      <xs:group name="_ExpressionNodeGroup">
        <xs:sequence>
          <xs:element name="id_ExpressionNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="ExpressionNode">
        <xs:choice>
          <xs:group ref="exn:_ExpressionNodeGroup"/>
          <xs:group ref="vrn:_VariableReferenceNodeGroup"/>
          <xs:group ref="ssn:_SubscriptNodeGroup"/>
          <xs:group ref="seen:_SideEffectExpressionNodeGroup"/>
          <xs:group ref="mdn:_ModificationNodeGroup"/>
          <xs:group ref="in:_IncrementNodeGroup"/>
          <xs:group ref="asn:_AssignmentNodeGroup"/>
          <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="frn:_FunctionReferenceNodeGroup"/>
          <xs:group ref="fin:_FunctionInvocationNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/expression/PureExpressionNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:ben="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" xmlns:iln="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:ln="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:on="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" xmlns:rln="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:ssn="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode">
      <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/expression/IntegerLiteralNode" schemaLocation="../../statement/expression/IntegerLiteralNode.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/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/RealLiteralNode" schemaLocation="../../statement/expression/RealLiteralNode.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/expression/VariableReferenceNode" schemaLocation="../../statement/expression/VariableReferenceNode.xsd"/>
      <xs:group name="_PureExpressionNodeGroup">
        <xs:sequence>
          <xs:element name="id_PureExpressionNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="PureExpressionNode">
        <xs:choice>
          <xs:group ref="pen:_PureExpressionNodeGroup"/>
          <xs:group ref="vrn:_VariableReferenceNodeGroup"/>
          <xs:group ref="ssn:_SubscriptNodeGroup"/>
          <xs:group ref="rln:_RealLiteralNodeGroup"/>
          <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:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/expression/FunctionInvocationNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fin="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
      <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/misc" schemaLocation="../../misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
      <xs:group name="_FunctionInvocationNodeGroup">
        <xs:sequence>
          <xs:element name="id_FunctionInvocationNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="function" type="exn:ExpressionNode" minOccurs="1" maxOccurs="1"/>
          <xs:element name="arguments" type="seq:ExpressionNodes" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="FunctionInvocationNode">
        <xs:choice>
          <xs:group ref="fin:_FunctionInvocationNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/expression/RealLiteralNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rln="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:rtyn="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
      <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/RealTypeNode" schemaLocation="../../type/RealTypeNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
      <xs:group name="_RealLiteralNodeGroup">
        <xs:sequence>
          <xs:element name="id_RealLiteralNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="realValue" type="xs:double" minOccurs="1" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="name" type="idn:IdentifierNode" minOccurs="0" maxOccurs="1"/>
          <xs:element name="type" type="rtyn:RealTypeNode" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="RealLiteralNode">
        <xs:choice>
          <xs:group ref="rln:_RealLiteralNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/expression/IntegerLiteralNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:iln="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode">
      <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/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="../../type/TypeNode.xsd"/>
      <xs:group name="_IntegerLiteralNodeGroup">
        <xs:sequence>
          <xs:element name="id_IntegerLiteralNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="integerValue" type="xs:integer" minOccurs="1" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="name" type="idn:IdentifierNode" minOccurs="0" maxOccurs="1"/>
          <xs:element name="type" type="tyn:TypeNode" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="IntegerLiteralNode">
        <xs:choice>
          <xs:group ref="iln:_IntegerLiteralNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/expression/BindingExpressionNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ben="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" xmlns:bvn="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
      <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/misc" schemaLocation="../../misc.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/SequenceNode" schemaLocation="../../SequenceNode.xsd"/>
      <xs:group name="_BindingExpressionNodeGroup">
        <xs:sequence>
          <xs:element name="id_BindingExpressionNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="quantifier" type="misc:Quantifier" minOccurs="1" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="boundVariable" type="bvn:BoundVariableDeclarationNode" minOccurs="1" maxOccurs="1"/>
          <xs:element name="constraint" type="pen:PureExpressionNode" minOccurs="1" maxOccurs="1"/>
          <xs:element name="expression" type="pen:PureExpressionNode" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="BindingExpressionNode">
        <xs:choice>
          <xs:group ref="ben:_BindingExpressionNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/BlockNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:bn="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
      <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="_BlockNodeGroup">
        <xs:sequence>
          <xs:element name="id_BlockNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="variables" type="seq:VariableDeclarationNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="statements" type="seq:StatementNodes" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="BlockNode">
        <xs:choice>
          <xs:group ref="bn:_BlockNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/ReturnNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:retn="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
      <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/misc" schemaLocation="../misc.xsd"/>
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="../SequenceNode.xsd"/>
      <xs:group name="_ReturnNodeGroup">
        <xs:sequence>
          <xs:element name="id_ReturnNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
          <xs:element name="expression" type="exn:ExpressionNode" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="ReturnNode">
        <xs:choice>
          <xs:group ref="retn:_ReturnNodeGroup"/>
        </xs:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/StatementNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" xmlns:asn="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:asrn="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode" xmlns:ben="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" xmlns:bn="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:fin="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode" xmlns:fln="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" xmlns:frn="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" xmlns:iln="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" xmlns:in="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" xmlns:ite="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:ln="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" xmlns:loopn="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode" xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:on="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:retn="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" xmlns:rln="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:seen="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:ssn="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode">
      <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/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/statement/expression/ExpressionNode" schemaLocation="../statement/expression/ExpressionNode.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/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/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/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/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/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/expression/VariableReferenceNode" schemaLocation="../statement/expression/VariableReferenceNode.xsd"/>
      <xs:group name="_StatementNodeGroup">
        <xs:sequence>
          <xs:element name="id_StatementNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="labels" type="seq:LabelNodes" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="StatementNode">
        <xs:choice>
          <xs:group ref="stn:_StatementNodeGroup"/>
          <xs:group ref="vrn:_VariableReferenceNodeGroup"/>
          <xs:group ref="ssn:_SubscriptNodeGroup"/>
          <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:choice>
      </xs:complexType>
    </xs:schema>
    
  • statement/PragmaNode.xsd
    <?xml version="1.0"?>
    <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pn="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc">
      <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../misc.xsd"/>
      <xs:group name="_PragmaNodeGroup">
        <xs:sequence>
          <xs:element name="id_PragmaNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
          <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
          <xs:element name="string" type="xs:string" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:group>
      <xs:complexType name="PragmaNode">
        <xs:choice>
          <xs:group ref="pn:_PragmaNodeGroup"/>
        </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>
    
  • 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>
    
  • 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>
    
  • 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
    
Note: See TracWiki for help on using the wiki.