Warning, /frameworks/syntax-highlighting/autotests/folding/highlight.y.fold is written in an unsupported language. File is not indexed.

0001 <beginfold id='1'>/*</beginfold id='1'> Yacc / Bison hl test file.
0002  * It won't compile :-) Sure !
0003  <endfold id='1'>*/</endfold id='1'>
0004 
0005 <beginfold id='2'>%{</beginfold id='2'>
0006 
0007 #include <iostream>
0008 using namespace std;
0009 
0010 extern KateParser *parser;
0011 
0012 <endfold id='2'>%}</endfold id='2'>
0013 
0014 <beginfold id='3'></beginfold id='3'>%locations
0015 
0016 %union <beginfold id='4'>{</beginfold id='4'> 
0017    int int_val;
0018    double double_val;
0019    bool bool_val;
0020    char *string_val;
0021    char *ident_val;
0022    struct var *v;
0023    void *ptr;
0024 <endfold id='4'>}</endfold id='4'>
0025 
0026 %token <int_val>      TOK_NOT_EQUAL  "!="
0027 %token <int_val>      TOK_LESSER_E   "<="
0028 %token <int_val>      TOK_GREATER_E  ">="
0029 %token <int_val>      TOK_EQUAL_2    "==" //comment
0030 %token
0031    PERCENT_DEBUG           "%debug"
0032    PERCENT_DEFAULT_PREC    "%default-prec"
0033    PERCENT_DEFINE          "%define"
0034 ;
0035 
0036 %type <int_val>       type type_proc
0037 
0038 %code top <beginfold id='4'>{</beginfold id='4'>
0039   #define _GNU_SOURCE
0040   #include <stdio.h>
0041   int val;
0042 <endfold id='4'>}</endfold id='4'>
0043 
0044 %destructor <beginfold id='5'>{</beginfold id='5'> free ($$); printf ("%d", @$.first_line); <endfold id='5'>}</endfold id='5'> <*>
0045 %lex-param   <beginfold id='5'>{</beginfold id='5'>scanner_mode *mode<endfold id='5'>}</endfold id='5'>;
0046 %parse-param <beginfold id='5'>{</beginfold id='5'>int *nastiness<endfold id='5'>}</endfold id='5'> <beginfold id='5'>{</beginfold id='5'>int *randomness<endfold id='5'>}</endfold id='5'>
0047 %initial-action <beginfold id='5'>{</beginfold id='5'>
0048   @$.initialize (file_name);
0049 <endfold id='5'>}</endfold id='5'>;
0050 
0051 <endfold id='3'></endfold id='3'><beginfold id='6'>%%</beginfold id='6'>
0052 
0053 prog<beginfold id='7'>:</beginfold id='7'>                 KW_PROGRAM ident <beginfold id='8'>{</beginfold id='8'> parser->start($2); <endfold id='8'>}</endfold id='8'> prog_beg_glob_decl instructions <beginfold id='8'>{</beginfold id='8'> parser->endproc(0); <endfold id='8'>}</endfold id='8'> dev_procedures KW_ENDP <endfold id='7'>;</endfold id='7'>
0054 
0055 number<beginfold id='7'>:</beginfold id='7'>               integer_number
0056                       | TOK_DOUBLE
0057                       <beginfold id='8'>{</beginfold id='8'>
0058                          $$ = new var;
0059                          $$->type = KW_REEL;
0060                          $$->cl = var::LITTERAL;
0061                          $$->real = $<int_val>1;
0062                       <endfold id='8'>}</endfold id='8'><endfold id='7'>;</endfold id='7'>
0063 words<beginfold id='7'>:</beginfold id='7'>
0064                       %empty
0065                       | words word
0066                       <endfold id='7'>;</endfold id='7'>
0067 
0068 %type <type> word;
0069 %printer <beginfold id='5'>{</beginfold id='5'> fprintf (yyo, "%s", word_string ($$)); <endfold id='5'>}</endfold id='5'> <type>;
0070 word<beginfold id='7'>:</beginfold id='7'>
0071                       %?<beginfold id='8'>{</beginfold id='8'> boom(1); <endfold id='8'>}</endfold id='8'>
0072                       | "hello"  <beginfold id='8'>{</beginfold id='8'> $$ = hello; <endfold id='8'>}</endfold id='8'>
0073                       | "bye"  <beginfold id='8'>{</beginfold id='8'> $$ = bye; <endfold id='8'>}</endfold id='8'>
0074                       <endfold id='7'>;</endfold id='7'>
0075 
0076 foo<beginfold id='7'>:</beginfold id='7'>                  <beginfold id='8'>{</beginfold id='8'> $$ = 0 <endfold id='8'>}</endfold id='8'>
0077                       | number <beginfold id='8'>{</beginfold id='8'> $$ = $1 | $2; <endfold id='8'>}</endfold id='8'>
0078                       | hello <beginfold id='8'>{</beginfold id='8'> $$ = $1 | $3; <endfold id='8'>}</endfold id='8'> // without a comma
0079 
0080 <endfold id='7'>h</endfold id='7'>ello<beginfold id='7'>:</beginfold id='7'>
0081                       gram1 <beginfold id='8'>{</beginfold id='8'> $$ = "hi" <endfold id='8'>}</endfold id='8'><endfold id='7'>;</endfold id='7'>
0082                       | gram2
0083                       <endfold id='7'>;</endfold id='7'>;
0084                       
0085 <endfold id='6'></endfold id='6'><beginfold id='9'>%%</beginfold id='9'>
0086 
0087 #include <stdio.h>
0088 
0089 int main(void)
0090 <beginfold id='10'>{</beginfold id='10'>
0091   puts("Hello, World!");
0092   return 0;
0093 <endfold id='10'>}</endfold id='10'>
0094 
0095 // ALERT NOTE