<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2007 sp2 (http://www.altova.com) by reveillere (enseirb) -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<xsd:element name="program">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="decl" minOccurs="0" maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:sequence minOccurs="0">
							<xsd:element ref="expr"/>
						</xsd:sequence>
						<xsd:attribute name="name" type="xsd:string" use="required"/>
						<xsd:attribute name="type" use="required">
							<xsd:simpleType>
								<xsd:restriction base="xsd:string">
									<xsd:enumeration value="int"/>
									<xsd:enumeration value="bool"/>
								</xsd:restriction>
							</xsd:simpleType>
						</xsd:attribute>
					</xsd:complexType>
				</xsd:element>
				<xsd:element ref="stmts"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="expr">
		<xsd:complexType>
			<xsd:choice>
				<xsd:element name="binop">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element ref="expr"/>
							<xsd:element ref="expr"/>
						</xsd:sequence>
						<xsd:attribute name="op" use="required">
							<xsd:simpleType>
								<xsd:restriction base="xsd:string">
									<xsd:enumeration value="+"/>
									<xsd:enumeration value="-"/>
									<xsd:enumeration value="*"/>
									<xsd:enumeration value="/"/>
								</xsd:restriction>
							</xsd:simpleType>
						</xsd:attribute>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="var">
					<xsd:complexType>
						<xsd:attribute name="name" type="xsd:string" use="required"/>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="constant">
					<xsd:complexType>
						<xsd:attribute name="value" type="xsd:int" use="required"/>
					</xsd:complexType>
				</xsd:element>
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="stmts">
		<xsd:complexType>
			<xsd:choice maxOccurs="unbounded">
				<xsd:element name="assign">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element ref="expr"/>
						</xsd:sequence>
						<xsd:attribute name="var" type="xsd:string" use="required"/>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="print">
					<xsd:complexType>
						<xsd:attribute name="var" type="xsd:string" use="required"/>
					</xsd:complexType>
				</xsd:element>
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>

