<Comment>/* Yacc / Bison hl test file.</Comment><br/>
<Comment> * It won't compile :-) Sure !</Comment><br/>
<Comment> */</Comment><br/>
<dsNormal></dsNormal><br/>
<Content-Type Delimiter>%{</Content-Type Delimiter><br/>
<dsNormal></dsNormal><br/>
<Preprocessor>#include </Preprocessor><Prep. Lib><iostream></Prep. Lib><br/>
<Keyword>using</Keyword><Normal Text> </Normal Text><Keyword>namespace</Keyword><Normal Text> std</Normal Text><Separator Symbol>;</Separator Symbol><br/>
<dsNormal></dsNormal><br/>
<Type Modifiers>extern</Type Modifiers><Normal Text> KateParser </Normal Text><Symbol>*</Symbol><Normal Text>parser</Normal Text><Separator Symbol>;</Separator Symbol><br/>
<dsNormal></dsNormal><br/>
<Content-Type Delimiter>%}</Content-Type Delimiter><br/>
<dsNormal></dsNormal><br/>
<Directive>%locations</Directive><br/>
<dsNormal></dsNormal><br/>
<Directive>%union</Directive><Normal Text> { </Normal Text><br/>
<Normal Text>   </Normal Text><Data Type>int</Data Type><Normal Text> int_val</Normal Text><Separator Symbol>;</Separator Symbol><br/>
<Normal Text>   </Normal Text><Data Type>double</Data Type><Normal Text> double_val</Normal Text><Separator Symbol>;</Separator Symbol><br/>
<Normal Text>   </Normal Text><Data Type>bool</Data Type><Normal Text> bool_val</Normal Text><Separator Symbol>;</Separator Symbol><br/>
<Normal Text>   </Normal Text><Data Type>char</Data Type><Normal Text> </Normal Text><Symbol>*</Symbol><Normal Text>string_val</Normal Text><Separator Symbol>;</Separator Symbol><br/>
<Normal Text>   </Normal Text><Data Type>char</Data Type><Normal Text> </Normal Text><Symbol>*</Symbol><Normal Text>ident_val</Normal Text><Separator Symbol>;</Separator Symbol><br/>
<Normal Text>   </Normal Text><Keyword>struct</Keyword><Normal Text> var </Normal Text><Symbol>*</Symbol><Normal Text>v</Normal Text><Separator Symbol>;</Separator Symbol><br/>
<Normal Text>   </Normal Text><Data Type>void</Data Type><Normal Text> </Normal Text><Symbol>*</Symbol><Normal Text>ptr</Normal Text><Separator Symbol>;</Separator Symbol><br/>
<Normal Text>}</Normal Text><br/>
<dsNormal></dsNormal><br/>
<Directive>%token</Directive><Normal Text> </Normal Text><Data Type><int_val></Data Type><Normal Text>      TOK_NOT_EQUAL  </Normal Text><String>"!="</String><br/>
<Directive>%token</Directive><Normal Text> </Normal Text><Data Type><int_val></Data Type><Normal Text>      TOK_LESSER_E   </Normal Text><String>"<="</String><br/>
<Directive>%token</Directive><Normal Text> </Normal Text><Data Type><int_val></Data Type><Normal Text>      TOK_GREATER_E  </Normal Text><String>">="</String><br/>
<Directive>%token</Directive><Normal Text> </Normal Text><Data Type><int_val></Data Type><Normal Text>      TOK_EQUAL_2    </Normal Text><String>"=="</String><br/>
<dsNormal></dsNormal><br/>
<Directive>%type</Directive><Normal Text> </Normal Text><Data Type><int_val></Data Type><Normal Text>       type type_proc</Normal Text><br/>
<dsNormal></dsNormal><br/>
<Content-Type Delimiter>%%</Content-Type Delimiter><br/>
<dsNormal></dsNormal><br/>
<Rule>prog</Rule><Normal Text>:</Normal Text><Definition>                 KW_PROGRAM ident </Definition><Normal Text>{ parser</Normal Text><Symbol>-></Symbol><Normal Text>start</Normal Text><Symbol>(</Symbol><Error>$</Error><Decimal>2</Decimal><Symbol>)</Symbol><Separator Symbol>;</Separator Symbol><Normal Text> }</Normal Text><Definition> prog_beg_glob_decl instructions </Definition><Normal Text>{ parser</Normal Text><Symbol>-></Symbol><Normal Text>endproc</Normal Text><Symbol>(</Symbol><Decimal>0</Decimal><Symbol>)</Symbol><Separator Symbol>;</Separator Symbol><Normal Text> }</Normal Text><Definition> dev_procedures KW_ENDP </Definition><Normal Text>;</Normal Text><br/>
<dsNormal></dsNormal><br/>
<Rule>number</Rule><Normal Text>:</Normal Text><Definition>               integer_number</Definition><br/>
<Definition>                      </Definition><Normal Text>|</Normal Text><Definition> TOK_DOUBLE</Definition><br/>
<Definition>                      </Definition><Normal Text>{</Normal Text><br/>
<Normal Text>                         </Normal Text><Error>$$</Error><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Keyword>new</Keyword><Normal Text> var</Normal Text><Separator Symbol>;</Separator Symbol><br/>
<Normal Text>                         </Normal Text><Error>$$</Error><Symbol>-></Symbol><Normal Text>type </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><CONSTS/MACROS>KW_REEL</CONSTS/MACROS><Separator Symbol>;</Separator Symbol><br/>
<Normal Text>                         </Normal Text><Error>$$</Error><Symbol>-></Symbol><Normal Text>cl </Normal Text><Symbol>=</Symbol><Normal Text> var</Normal Text><Symbol>::</Symbol><CONSTS/MACROS>LITTERAL</CONSTS/MACROS><Separator Symbol>;</Separator Symbol><br/>
<Normal Text>                         </Normal Text><Error>$$</Error><Symbol>-></Symbol><Normal Text>real </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Error>$</Error><Symbol><</Symbol><Normal Text>int_val</Normal Text><Symbol>></Symbol><Decimal>1</Decimal><Separator Symbol>;</Separator Symbol><br/>
<Normal Text>                      };</Normal Text><br/>
<dsNormal></dsNormal><br/>
<Content-Type Delimiter>%%</Content-Type Delimiter><br/>
<dsNormal></dsNormal><br/>
<Preprocessor>#include </Preprocessor><Prep. Lib><stdio.h></Prep. Lib><br/>
<dsNormal></dsNormal><br/>
<Data Type>int</Data Type><Normal Text> main</Normal Text><Symbol>(</Symbol><Data Type>void</Data Type><Symbol>)</Symbol><br/>
<Symbol>{</Symbol><br/>
<Normal Text>  puts</Normal Text><Symbol>(</Symbol><String>"Hello, World!"</String><Symbol>)</Symbol><Separator Symbol>;</Separator Symbol><br/>
<Normal Text>  </Normal Text><Control Flow>return</Control Flow><Normal Text> </Normal Text><Decimal>0</Decimal><Separator Symbol>;</Separator Symbol><br/>
<Symbol>}</Symbol><br/>
