| Version 5 (modified by , 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>
- Schema
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/tass_ast" xmlns:tl="http://vsl.cis.udel.edu/ns/tass/tass_ast" xmlns:rtn="http://vsl.cis.udel.edu/ns/tass/RootNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" xmlns:fdn="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" xmlns:ben="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" xmlns:ln="http://vsl.cis.udel.edu/ns/tass/LabelNode" xmlns:fvn="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" 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:asrn="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode" xmlns:on="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" xmlns:btn="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode" xmlns:file="http://vsl.cis.udel.edu/ns/tass/File" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:gvdn="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode" xmlns:lvdn="http://vsl.cis.udel.edu/ns/tass/declaration/LocalVariableDeclarationNode" xmlns:bln="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" xmlns:bvn="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode" xmlns:trn="http://vsl.cis.udel.edu/ns/tass/type/TypeReferenceNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/RootNode" schemaLocation="RootNode.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/statement/expression/BindingExpressionNode" schemaLocation="statement/expression/BindingExpressionNode.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/type/IntegerTypeNode" schemaLocation="type/IntegerTypeNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode" schemaLocation="type/VoidTypeNode.xsd" /> <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/ReturnNode" schemaLocation="statement/ReturnNode.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/type/PointerTypeNode" schemaLocation="type/PointerTypeNode.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/AssertStatementNode" schemaLocation="statement/AssertStatementNode.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/type/BooleanTypeNode" schemaLocation="type/BooleanTypeNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/File" schemaLocation="File.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/declaration/GlobalVariableDeclarationNode" schemaLocation="declaration/GlobalVariableDeclarationNode.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/BlockNode" schemaLocation="statement/BlockNode.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/TypeReferenceNode" schemaLocation="type/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/statement/expression/SubscriptNode" schemaLocation="statement/expression/SubscriptNode.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/IncrementNode" schemaLocation="statement/expression/IncrementNode.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/type/RealTypeNode" schemaLocation="type/RealTypeNode.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/type/ArrayTypeNode" schemaLocation="type/ArrayTypeNode.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/TypeDefinitionNode" schemaLocation="TypeDefinitionNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode" schemaLocation="statement/IfThenElseStatementNode.xsd" /> <xs:element name="rootNode" type="rtn:RootNode"> <xs:unique name="uniqueStatementIds"> <xs:selector xpath=".//stn:id" /> <xs:field xpath="." /> </xs:unique> <xs:keyref name="strefs" refer="tl:uniqueStatementIds"> <xs:selector xpath=".//ln:stref" /> <xs:field xpath="." /> </xs:keyref> <xs:unique name="uniqueFunctionRefs"> <xs:selector xpath=".//fdn:id" /> <xs:field xpath="." /> </xs:unique> <xs:keyref name="frefs" refer="tl:uniqueFunctionRefs"> <xs:selector xpath=".//fvn:fref" /> <xs:field xpath="." /> </xs:keyref> <xs:keyref name="rrefs" refer="tl:uniqueFunctionRefs"> <xs:selector xpath=".//frn:rref" /> <xs:field xpath="." /> </xs:keyref> <xs:keyref name="rtnFunctionRefs" refer="tl:uniqueFunctionRefs"> <xs:selector xpath=".//rtn:mainFunction" /> <xs:field xpath="." /> </xs:keyref> <xs:unique name="uniqueVariableRefs"> <xs:selector xpath=".//vdn:id" /> <xs:field xpath="." /> </xs:unique> <!-- Commented out until issues regarding MI in GlobalVariableDeclarationNodes are resolved <xs:keyref name="vrefs" refer="tl:uniqueVariableRefs"> <xs:selector xpath=".//vrn:vref" /> <xs:field xpath="." /> </xs:keyref> --> <xs:keyref name="gVariableRefs" refer="tl:uniqueVariableRefs"> <xs:selector xpath=".//gvdn:dref" /> <xs:field xpath="." /> </xs:keyref> <xs:unique name="uniqueFileRefs"> <xs:selector xpath=".//file:id" /> <xs:field xpath="." /> </xs:unique> <xs:keyref name="fileRefs" refer="tl:uniqueFileRefs"> <xs:selector xpath=".//astnode:source" /> <xs:field xpath="@fileRef" /> </xs:keyref> <xs:unique name="uniqueBlockRefs"> <xs:selector xpath=".//bln:id" /> <xs:field xpath="." /> </xs:unique> <xs:keyref name="brefs" refer="tl:uniqueBlockRefs"> <xs:selector xpath=".//lvdn:bref" /> <xs:field xpath="." /> </xs:keyref> <xs:unique name="uniqueBindingExpressionRefs"> <xs:selector xpath=".//ben:ubeid" /> <xs:field xpath="." /> </xs:unique> <xs:keyref name="bindingExpressionrefs" refer="tl:uniqueBindingExpressionRefs"> <xs:selector xpath=".//bvn:beref" /> <xs:field xpath="." /> </xs:keyref> <xs:unique name="uniqueTypeIds"> <xs:selector xpath=".//tyn:id" /> <xs:field xpath="." /> </xs:unique> <xs:keyref name="uniqueTypeRefs" refer="tl:uniqueTypeIds"> <xs:selector xpath=".//trn:typeRef" /> <xs:field xpath="." /> </xs:keyref> </xs:element> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd" /> <xs:complexType name="ASTNode"> <xs:sequence> <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1" /> </xs:sequence> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode" xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" schemaLocation="GlobalScopeNode.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/type/TypeNode" schemaLocation="type/TypeNode.xsd" /> <xs:complexType name="TypeDefinitionNode"> <xs:complexContent> <xs:extension base="gsn:GlobalScopeNode"> <xs:sequence> <xs:element name="identifier" type="idn:IdentifierNode" /> <xs:element name="type" type="tyn:TypeNode" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode" xmlns:ctn="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:tn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" elementFormDefault="qualified"> <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/TypeNode" schemaLocation="TypeNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" schemaLocation="../IdentifierNode.xsd" /> <xs:complexType name="CompositeTypeNode"> <xs:complexContent> <xs:extension base="tn:TypeNode"> <xs:sequence> <xs:element name="name" type="idn:IdentifierNode" /> <xs:element name="fields" type="ctn:Fields" /> <xs:element name="isUnion" minOccurs="0" type="xs:boolean" default="false" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="Fields"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="child" type="ctn:Field" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="Field"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="left" type="idn:IdentifierNode" /> <xs:element name="right" type="tn:TypeNode" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode" xmlns:itn="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode" xmlns:tn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="TypeNode.xsd" /> <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:complexType name="IntegerTypeNode"> <xs:complexContent> <xs:extension base="tn:TypeNode"> <xs:attribute name="intType" type="itn:IntType" default="INT" /> <xs:attribute name="isSigned" type="xs:boolean" default="true" /> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" xmlns:szn="http://vsl.cis.udel.edu/ns/tass/SizeableNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SizeableNode" schemaLocation="../SizeableNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../misc.xsd" /> <xs:complexType name="TypeNode"> <xs:complexContent> <xs:extension base="szn:SizeableNode"> <xs:sequence> <xs:element name="id" type="misc:Guid" minOccurs="0" maxOccurs="1" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode" xmlns:ptn="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode" xmlns:tn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="TypeNode.xsd" /> <xs:complexType name="PointerTypeNode"> <xs:complexContent> <xs:extension base="tn:TypeNode"> <xs:sequence> <xs:element name="baseType" type="tn:TypeNode" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/TypeReferenceNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:trn="http://vsl.cis.udel.edu/ns/tass/type/TypeReferenceNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" elementFormDefault="qualified"> <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:complexType name="TypeReferenceNode"> <xs:complexContent> <xs:extension base="idn:IdentifierNode"> <xs:attribute name="typeRef" type="misc:Guid" /> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode" xmlns:vtn="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode" xmlns:tn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="TypeNode.xsd" /> <xs:complexType name="VoidTypeNode"> <xs:complexContent> <xs:extension base="tn:TypeNode" /> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode" xmlns:atn="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode" xmlns:tn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" xmlns:en="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="TypeNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="../statement/expression/ExpressionNode.xsd" /> <xs:complexType name="ArrayTypeNode"> <xs:complexContent> <xs:extension base="tn:TypeNode"> <xs:sequence> <xs:element name="elementType" type="tn:TypeNode" /> <xs:element name="extent" type="en:ExpressionNode" minOccurs="0" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode" xmlns:btn="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode" xmlns:tn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="TypeNode.xsd" /> <xs:complexType name="BooleanTypeNode"> <xs:complexContent> <xs:extension base="tn:TypeNode" /> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" xmlns:rtn="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" xmlns:tn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="TypeNode.xsd" /> <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="RealTypeNode"> <xs:complexContent> <xs:extension base="tn:TypeNode"> <xs:attribute name="floatType" type="rtn:FloatType" default="DOUBLE" /> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode" schemaLocation="ASTNode.xsd" /> <xs:complexType name="GlobalScopeNode" abstract="true"> <xs:complexContent> <xs:extension base="astnode:ASTNode" /> </xs:complexContent> </xs:complexType> <xs:complexType name="GlobalScopeNodes"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="child" type="gsn:GlobalScopeNode" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/LabelNode" xmlns:ln="http://vsl.cis.udel.edu/ns/tass/LabelNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode" schemaLocation="ASTNode.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/misc" schemaLocation="misc.xsd" /> <xs:complexType name="LabelNode"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="identifier" type="idn:IdentifierNode" /> <xs:element name="stref" type="misc:Guid" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="LabelNodes"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="child" type="ln:LabelNode" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" xmlns:fvn="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" schemaLocation="VariableDeclarationNode.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/ASTNode" schemaLocation="../ASTNode.xsd" /> <xs:complexType name="FormalVariableDeclarationNode"> <xs:complexContent> <xs:extension base="vdn:VariableDeclarationNode"> <xs:sequence> <xs:element name="fref" type="misc:Guid" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="FormalVariableDeclarationNodes"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="child" type="fvn:FormalVariableDeclarationNode" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode" xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" xmlns:gvdn="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode" schemaLocation="../ASTNode.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/ExpressionNode" schemaLocation="../statement/expression/ExpressionNode.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/misc" schemaLocation="../misc.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" schemaLocation="VariableDeclarationNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" schemaLocation="../GlobalScopeNode.xsd" /> <xs:complexType name="GlobalVariableDeclarationNode"> <xs:complexContent> <xs:extension base="gsn:GlobalScopeNode"> <xs:sequence> <xs:element name="id" type="misc:Guid" minOccurs="0" /> <xs:element name="name" type="idn:IdentifierNode" /> <xs:element name="type" type="tyn:TypeNode" /> <xs:element name="initializer" type="exn:ExpressionNode" minOccurs="0" maxOccurs="1" /> <xs:element name="isConst" minOccurs="0" /> <xs:element name="isVolatile" minOccurs="0" /> <xs:element name="isRestict" minOccurs="0" /> <xs:element name="storageClass" type="vdn:StorageClass" minOccurs="0" maxOccurs="1" /> <xs:element name="dref" type="misc:Guid" minOccurs="0" /> <xs:element name="isDefinition" minOccurs="0" /> <xs:element name="isInput" minOccurs="0" /> <xs:element name="isOutput" minOccurs="0" /> <xs:element name="isShared" minOccurs="0" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="GlobalVariableDeclarationNodes"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="child" type="gvdn:GlobalVariableDeclarationNode" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode" schemaLocation="../ASTNode.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/ExpressionNode" schemaLocation="../statement/expression/ExpressionNode.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/misc" schemaLocation="../misc.xsd" /> <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:complexType name="VariableDeclarationNode" abstract="true"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="id" type="misc:Guid" minOccurs="0" /> <xs:element name="name" type="idn:IdentifierNode" /> <xs:element name="type" type="tyn:TypeNode" /> <xs:element name="initializer" type="exn:ExpressionNode" minOccurs="0" maxOccurs="1" /> <xs:element name="isConst" minOccurs="0" /> <xs:element name="isVolatile" minOccurs="0" /> <xs:element name="isRestict" minOccurs="0" /> <xs:element name="storageClass" type="vdn:StorageClass" minOccurs="0" maxOccurs="1" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="VariableDeclarationNodes"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="child" type="vdn:VariableDeclarationNode" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode" xmlns:bvn="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode" xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" schemaLocation="VariableDeclarationNode.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/ASTNode" schemaLocation="../ASTNode.xsd" /> <xs:complexType name="BoundVariableDeclarationNode"> <xs:complexContent> <xs:extension base="vdn:VariableDeclarationNode"> <xs:sequence> <xs:element name="beref" type="misc:Guid" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="BoundVariableDeclarationNodes"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="child" type="bvn:BoundVariableDeclarationNode" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" xmlns:fdn="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" xmlns:fvn="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" xmlns:bln="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" schemaLocation="../GlobalScopeNode.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/BlockNode" schemaLocation="../statement/BlockNode.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/FormalVariableDeclarationNode" schemaLocation="FormalVariableDeclarationNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="../misc.xsd" /> <xs:complexType name="FunctionDeclarationNode"> <xs:complexContent> <xs:extension base="gsn:GlobalScopeNode"> <xs:sequence> <xs:element name="id" type="misc:Guid" minOccurs="0" /> <xs:element name="name" type="idn:IdentifierNode" /> <xs:element name="outputType" type="tyn:TypeNode" /> <xs:element name="formals" type="fvn:FormalVariableDeclarationNodes" /> <xs:choice minOccurs="0"> <xs:element name="fref" type="misc:Guid" /> <xs:element name="body" type="bln:BlockNode" /> </xs:choice> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/declaration/LocalVariableDeclarationNode" xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" xmlns:lvdn="http://vsl.cis.udel.edu/ns/tass/declaration/LocalVariableDeclarationNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode" schemaLocation="../ASTNode.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/ExpressionNode" schemaLocation="../statement/expression/ExpressionNode.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/misc" schemaLocation="../misc.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" schemaLocation="VariableDeclarationNode.xsd" /> <xs:complexType name="LocalVariableDeclarationNode"> <xs:complexContent> <xs:extension base="vdn:VariableDeclarationNode"> <xs:sequence> <xs:element name="bref" type="misc:Guid" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="LocalVariableDeclarationNodes"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="child" type="lvdn:LocalVariableDeclarationNode" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/SizeableNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode" schemaLocation="ASTNode.xsd" /> <xs:complexType name="SizeableNode"> <xs:complexContent> <xs:extension base="astnode:ASTNode" /> </xs:complexContent> </xs:complexType> </xs:schema> <?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="Guid"> <xs:restriction base="xs:integer" /> </xs:simpleType> <xs:complexType name="Source"> <xs:attribute name="region" type="misc:SourceRegion" use="required" /> <xs:attribute name="fileRef" type="misc:Guid" 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 >= startLine and if endLine == startLine that endColumn > startColumn </xs:documentation> </xs:annotation> <xs:pattern value="\d+,\d+,\d+,\d+" /> </xs:restriction> </xs:simpleType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode" schemaLocation="ASTNode.xsd" /> <xs:complexType name="IdentifierNode"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:attribute name="identifier" type="xs:string" /> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:file="http://vsl.cis.udel.edu/ns/tass/File" xmlns:sqn="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" targetNamespace="http://vsl.cis.udel.edu/ns/tass/File" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode" schemaLocation="ASTNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd" /> <xs:complexType name="File"> <xs:sequence> <xs:element name="id" type="misc:Guid" /> <xs:element name="fileName" type="xs:string" /> <xs:element name="contents" type="xs:string" minOccurs="0" /> </xs:sequence> <xs:attribute name="isSystem" type="xs:boolean" default="false" /> </xs:complexType> <xs:complexType name="Files"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="child" type="file:File" minOccurs="1" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/RootNode" xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" xmlns:fdn="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" xmlns:rtn="http://vsl.cis.udel.edu/ns/tass/RootNode" xmlns:file="http://vsl.cis.udel.edu/ns/tass/File" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" elementFormDefault="qualified"> <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/FunctionDeclarationNode" schemaLocation="declaration/FunctionDeclarationNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/File" schemaLocation="File.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/misc" schemaLocation="misc.xsd" /> <xs:complexType name="RootNode"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="globalScopeNodes" type="gsn:GlobalScopeNodes" /> <xs:element name="mainFunction" type="misc:Guid" minOccurs="0" maxOccurs="1" /> <xs:element name="files" type="file:Files" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode" xmlns:ite="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="StatementNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="expression/ExpressionNode.xsd" /> <xs:complexType name="IfThenElseStatementNode"> <xs:complexContent> <xs:extension base="stn:StatementNode"> <xs:sequence> <xs:element name="condition" type="exn:ExpressionNode" /> <xs:element name="trueBranch" type="stn:StatementNode" /> <xs:element name="falseBranch" type="stn:StatementNode" minOccurs="0" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" xmlns:en="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:rn="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="StatementNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="expression/ExpressionNode.xsd" /> <xs:complexType name="ReturnNode"> <xs:complexContent> <xs:extension base="stn:StatementNode"> <xs:sequence> <xs:element name="expression" type="en:ExpressionNode" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" xmlns:fln="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" xmlns:ln="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode" schemaLocation="LoopNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="StatementNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="expression/ExpressionNode.xsd" /> <xs:complexType name="ForLoopNode"> <xs:complexContent> <xs:extension base="ln:LoopNode"> <xs:sequence> <xs:element name="initializer" type="stn:StatementNode" /> <xs:element name="condition" type="exn:ExpressionNode" /> <xs:element name="incrementer" type="stn:StatementNode" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode" xmlns:pn="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="StatementNode.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/ASTNode" schemaLocation="../ASTNode.xsd" /> <xs:complexType name="PragmaNode"> <xs:complexContent> <xs:extension base="stn:StatementNode"> <xs:sequence> <xs:element name="string" type="xs:string" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="GlobalPragmaNode"> <xs:complexContent> <xs:extension base="gsn:GlobalScopeNode"> <xs:sequence> <xs:element name="pragmaNode" type="pn:PragmaNode" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="PragmaNodes"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="child" type="pn:PragmaNode" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" schemaLocation="PureExpressionNode.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/statement/expression/VariableReferenceNode" schemaLocation="VariableReferenceNode.xsd" /> <xs:complexType name="LHSExpressionNode"> <xs:complexContent> <xs:extension base="pen:PureExpressionNode" /> </xs:complexContent> </xs:complexType> <xs:complexType name="LHSExpressionNodes"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="child" type="lhsn:LHSExpressionNode" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:asn="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" schemaLocation="ModificationNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="ExpressionNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode" schemaLocation="../../ASTNode.xsd" /> <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:complexType name="AssignmentNode"> <xs:complexContent> <xs:extension base="mdn:ModificationNode"> <xs:sequence> <xs:element name="assignmentType" type="asn:AST_ASSIGNMENT_TYPE" minOccurs="0" /> <xs:element name="rhs" type="exn:ExpressionNode" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="AssignmentNodes"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="child" type="asn:AssignmentNode" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:en="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:ln="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="ExpressionNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" schemaLocation="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/ASTNode" schemaLocation="../../ASTNode.xsd" /> <xs:complexType name="RealLiteralNode"> <xs:complexContent> <xs:extension base="ln:LiteralNode"> <xs:sequence> <xs:element name="realValue" type="xs:double" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:en="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:tn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" schemaLocation="PureExpressionNode.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/ASTNode" schemaLocation="../../ASTNode.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/type/TypeNode" schemaLocation="../../type/TypeNode.xsd" /> <xs:complexType name="LiteralNode"> <xs:complexContent> <xs:extension base="pen:PureExpressionNode"> <xs:sequence> <xs:element name="name" type="idn:IdentifierNode" minOccurs="0" maxOccurs="1" /> <xs:element name="type" type="tn:TypeNode" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="../StatementNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="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/LHSExpressionNode" schemaLocation="LHSExpressionNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" schemaLocation="../../IdentifierNode.xsd" /> <xs:complexType name="VariableReferenceNode"> <xs:complexContent> <xs:extension base="lhsn:LHSExpressionNode"> <xs:sequence> <xs:element name="vref" type="misc:Guid" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" xmlns:in="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" schemaLocation="ModificationNode.xsd" /> <xs:complexType name="IncrementNode"> <xs:complexContent> <xs:extension base="mdn:ModificationNode"> <xs:attribute name="prefix" type="xs:boolean" default="true" /> <xs:attribute name="increment" type="xs:boolean" default="true" /> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" 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:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" schemaLocation="LHSExpressionNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="ExpressionNode.xsd" /> <xs:complexType name="SubscriptNode"> <xs:complexContent> <xs:extension base="lhsn:LHSExpressionNode"> <xs:sequence> <xs:element name="arrayExpression" type="exn:ExpressionNode" /> <xs:element name="indexExpression" type="exn:ExpressionNode" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:seen="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" schemaLocation="LHSExpressionNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" schemaLocation="SideEffectExpressionNode.xsd" /> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode" schemaLocation="../../ASTNode.xsd" /> <xs:complexType name="ModificationNode"> <xs:complexContent> <xs:extension base="seen:SideEffectExpressionNode"> <xs:sequence> <xs:element name="lhs" type="lhsn:LHSExpressionNode" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="ModificationNodes"> <xs:complexContent> <xs:extension base="astnode:ASTNode"> <xs:sequence> <xs:element name="child" type="mdn:ModificationNode" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema> <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" 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:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" elementFormDefault="qualified"> <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/e
Note:
See TracWiki
for help on using the wiki.
