<?xml version="1.0"?>
<!DOCTYPE sim SYSTEM "sim.dtd">
<!--
	First test script
-->
<sim>

   <info>
   
   	<name	uid="autohit/test/scripts/compile-test4">Compiler test 4</name>
   	<version	num="1"/>
   	<note>
   		This is a compiler test.  There are minor errors
AH0001[16:172511]ParseError @line #39:Element "for" does not allow "label" here.
AH0001[16:172511]ParseError @line #44:Element "if" does not allow "label" here.
  			
   	</note>
   	<io>
   		<input name="goatvar"/>
   		<buffer name="goatbuffer">aaa</buffer>
   		<input name="otherVar"/>
   		<output name="returnInfo"/>
   	</io>
   
   </info>
   
   <code>
	<set name="Variable" value="10" new="new"/>
        <set name="Variable2" eval="$goatvar$"/>
        <set name="Variable-reference" ref="Variable"/>
        <math left="Variable" oper="+" value="2" output="destinationVar"/>
        <math left="Variable" oper="*" eval="$goatvar$" output="destinationVar"/>
        
        <goto label="place"/>
        
	<buffer name="bobsbuffer" clear="clear"></buffer>
	<buffer name="bobsbuffer" value="goat"></buffer>
	<buffer name="bobsbuffer" eval="$Variable$"/>
	<buffer name="bobsbuffer" buffer="otherBuffer"/>     
        <buffer name="bobsbuffer">
        	Lots of goatly information.
        	To be had here.
        </buffer>
        <buffer name="goatbuffer2"></buffer>
   
        <for count="countVar" value="10">
            <!-- do this -->
            <buffer name="bobsbuffer" value="more goat"></buffer>
        </for>
        
        <for count="countVar" value="$Variable$">
            <!-- do this -->
        </for>
	
        <if item="Variable">
        	<!-- do this -->
        </if>	

        <if item="Variable" eval="$Variable2$">
        	<!-- do this -->
        </if>	  	
   
    	<label name="zoink"/>  
   
   	<block>
   		<set name="Wibble" value="This var will only be around within this block"/> 
		<call name="HTTP" result="result">
			<set name="info" value="goat"/>
			<set name="header" eval="$Variable2$"/>
			<set name="goods" ref="Variable2"/>
			<set name="jack" buffer="bobsbuffer"/>
   		</call> 	
   		<set name="Wobble" value="Wobble"/> 
   	</block>
   
   	<exec name="autohit.goats.DoGoat" result="result2">
		<input name="a" value="Goat string"/>
		<input name="b" eval="$Variable2"/>
		<input name="c" eval="$Variable2"/>
		<input name="d" buffer="bobsbuffer"/>
   	</exec>
   	
   	<label name="place"/>
   
	<subroutine name="com/borkitybork/universe/Tester1/TestOb2" result="result">
   		<set name="Wibble" value="This var will only be around within this block"/> 
		<set name="info" value="goat"/>
		<set name="header" eval="$Variable2"/>
		<set name="goods" eval="$Variable2"/>
		<set name="jack" buffer="bobsbuffer"/>
	</subroutine> 
	
	<goto label="zoink"/>
   
        <while name="Variable" value="1">
        	<math left="Variable" oper="+" value="1" output="destinationVar"/>
        </while>
        
        <goto label="black"/>
   
   </code>

</sim>