Warning, file /frameworks/syntax-highlighting/autotests/html/highlight.y.dark.html was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>highlight.y</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Yacc/Bison) - Theme (Breeze Dark)"/>
0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre>
0007 <span style="color:#7a7c7d;">/* Yacc / Bison hl test file.</span>
0008 <span style="color:#7a7c7d;"> * It won't compile :-) Sure !</span>
0009 <span style="color:#7a7c7d;"> */</span>
0010 
0011 <span style="color:#f67400;font-weight:bold;">%{</span>
0012 
0013 <span style="color:#27ae60;">#include </span><span style="color:#27ae60;">&lt;iostream&gt;</span>
0014 <span style="font-weight:bold;">using</span> <span style="font-weight:bold;">namespace</span> std<span style="color:#3f8058;">;</span>
0015 
0016 <span style="color:#2980b9;">extern</span> KateParser <span style="color:#3f8058;">*</span>parser<span style="color:#3f8058;">;</span>
0017 
0018 <span style="color:#f67400;font-weight:bold;">%}</span>
0019 
0020 <span style="font-weight:bold;">%locations</span>
0021 
0022 <span style="font-weight:bold;">%union</span> { 
0023    <span style="color:#2980b9;">int</span> int_val<span style="color:#3f8058;">;</span>
0024    <span style="color:#2980b9;">double</span> double_val<span style="color:#3f8058;">;</span>
0025    <span style="color:#2980b9;">bool</span> bool_val<span style="color:#3f8058;">;</span>
0026    <span style="color:#2980b9;">char</span> <span style="color:#3f8058;">*</span>string_val<span style="color:#3f8058;">;</span>
0027    <span style="color:#2980b9;">char</span> <span style="color:#3f8058;">*</span>ident_val<span style="color:#3f8058;">;</span>
0028    <span style="font-weight:bold;">struct</span> var <span style="color:#3f8058;">*</span>v<span style="color:#3f8058;">;</span>
0029    <span style="color:#2980b9;">void</span> <span style="color:#3f8058;">*</span>ptr<span style="color:#3f8058;">;</span>
0030 }
0031 
0032 <span style="font-weight:bold;">%token</span> <span style="color:#2980b9;">&lt;int_val&gt;</span>      TOK_NOT_EQUAL  <span style="color:#f44f4f;">&quot;!=&quot;</span>
0033 <span style="font-weight:bold;">%token</span> <span style="color:#2980b9;">&lt;int_val&gt;</span>      TOK_LESSER_E   <span style="color:#f44f4f;">&quot;&lt;=&quot;</span>
0034 <span style="font-weight:bold;">%token</span> <span style="color:#2980b9;">&lt;int_val&gt;</span>      TOK_GREATER_E  <span style="color:#f44f4f;">&quot;&gt;=&quot;</span>
0035 <span style="font-weight:bold;">%token</span> <span style="color:#2980b9;">&lt;int_val&gt;</span>      TOK_EQUAL_2    <span style="color:#f44f4f;">&quot;==&quot;</span> <span style="color:#7a7c7d;">//comment</span>
0036 <span style="font-weight:bold;">%token</span>
0037    PERCENT_DEBUG           <span style="color:#f44f4f;">&quot;%debug&quot;</span>
0038    PERCENT_DEFAULT_PREC    <span style="color:#f44f4f;">&quot;%default-prec&quot;</span>
0039    PERCENT_DEFINE          <span style="color:#f44f4f;">&quot;%define&quot;</span>
0040 ;
0041 
0042 <span style="font-weight:bold;">%type</span> <span style="color:#2980b9;">&lt;int_val&gt;</span>       type type_proc
0043 
0044 <span style="font-weight:bold;">%code</span> top {
0045   <span style="color:#27ae60;">#define </span><span style="color:#27ae60;">_GNU_SOURCE</span>
0046   <span style="color:#27ae60;">#include </span><span style="color:#27ae60;">&lt;stdio.h&gt;</span>
0047   <span style="color:#2980b9;">int</span> val<span style="color:#3f8058;">;</span>
0048 }
0049 
0050 <span style="font-weight:bold;">%destructor</span> { free <span style="color:#3f8058;">(</span><span style="font-weight:bold;">$$</span><span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span> printf <span style="color:#3f8058;">(</span><span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">%d</span><span style="color:#f44f4f;">&quot;</span><span style="color:#3f8058;">,</span> <span style="font-weight:bold;">@$</span><span style="color:#3f8058;">.</span>first_line<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span> } <span style="color:#2980b9;">&lt;*&gt;</span>
0051 <span style="font-weight:bold;">%lex-param</span>   {scanner_mode <span style="color:#3f8058;">*</span>mode};
0052 <span style="font-weight:bold;">%parse-param</span> {<span style="color:#2980b9;">int</span> <span style="color:#3f8058;">*</span>nastiness} {<span style="color:#2980b9;">int</span> <span style="color:#3f8058;">*</span>randomness}
0053 <span style="font-weight:bold;">%initial-action</span> {
0054   <span style="font-weight:bold;">@$</span><span style="color:#3f8058;">.</span>initialize <span style="color:#3f8058;">(</span>file_name<span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0055 };
0056 
0057 <span style="color:#f67400;font-weight:bold;">%%</span>
0058 
0059 <span style="color:#f44f4f;">prog</span>:                 KW_PROGRAM ident { parser<span style="color:#3f8058;">-&gt;</span>start<span style="color:#3f8058;">(</span><span style="font-weight:bold;">$2</span><span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span> } prog_beg_glob_decl instructions { parser<span style="color:#3f8058;">-&gt;</span>endproc<span style="color:#3f8058;">(</span><span style="color:#f67400;">0</span><span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span> } dev_procedures KW_ENDP ;
0060 
0061 <span style="color:#f44f4f;">number</span>:               integer_number
0062                       | TOK_DOUBLE
0063                       {
0064                          <span style="font-weight:bold;">$$</span> <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">new</span> var<span style="color:#3f8058;">;</span>
0065                          <span style="font-weight:bold;">$$</span><span style="color:#3f8058;">-&gt;</span>type <span style="color:#3f8058;">=</span> KW_REEL<span style="color:#3f8058;">;</span>
0066                          <span style="font-weight:bold;">$$</span><span style="color:#3f8058;">-&gt;</span>cl <span style="color:#3f8058;">=</span> var<span style="color:#3f8058;">::</span>LITTERAL<span style="color:#3f8058;">;</span>
0067                          <span style="font-weight:bold;">$$</span><span style="color:#3f8058;">-&gt;</span>real <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">$</span><span style="color:#2980b9;">&lt;int_val&gt;</span><span style="font-weight:bold;">1</span><span style="color:#3f8058;">;</span>
0068                       };
0069 <span style="color:#f44f4f;">words</span>:
0070                       <span style="font-weight:bold;">%empty</span>
0071                       | words word
0072                       ;
0073 
0074 <span style="font-weight:bold;">%type</span> <span style="color:#2980b9;">&lt;type&gt;</span> word;
0075 <span style="font-weight:bold;">%printer</span> { fprintf <span style="color:#3f8058;">(</span>yyo<span style="color:#3f8058;">,</span> <span style="color:#f44f4f;">&quot;</span><span style="color:#3daee9;">%s</span><span style="color:#f44f4f;">&quot;</span><span style="color:#3f8058;">,</span> word_string <span style="color:#3f8058;">(</span><span style="font-weight:bold;">$$</span><span style="color:#3f8058;">))</span><span style="color:#3f8058;">;</span> } <span style="color:#2980b9;">&lt;type&gt;</span>;
0076 <span style="color:#f44f4f;">word</span>:
0077                       <span style="font-weight:bold;">%?</span>{ boom<span style="color:#3f8058;">(</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span> }
0078                       | <span style="color:#f44f4f;">&quot;hello&quot;</span>  { <span style="font-weight:bold;">$$</span> <span style="color:#3f8058;">=</span> hello<span style="color:#3f8058;">;</span> }
0079                       | <span style="color:#f44f4f;">&quot;bye&quot;</span>  { <span style="font-weight:bold;">$$</span> <span style="color:#3f8058;">=</span> bye<span style="color:#3f8058;">;</span> }
0080                       ;
0081 
0082 <span style="color:#f44f4f;">foo</span>:                  { <span style="font-weight:bold;">$$</span> <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0</span> }
0083                       | number { <span style="font-weight:bold;">$$</span> <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">$1</span> <span style="color:#3f8058;">|</span> <span style="font-weight:bold;">$2</span><span style="color:#3f8058;">;</span> }
0084                       | hello { <span style="font-weight:bold;">$$</span> <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">$1</span> <span style="color:#3f8058;">|</span> <span style="font-weight:bold;">$3</span><span style="color:#3f8058;">;</span> } <span style="color:#7a7c7d;">// without a comma</span>
0085 
0086 <span style="color:#f44f4f;font-weight:bold;">h</span><span style="color:#f44f4f;">ello</span>:
0087                       gram1 { <span style="font-weight:bold;">$$</span> <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">&quot;hi&quot;</span> };
0088                       | gram2
0089                       ;;
0090                       
0091 <span style="color:#f67400;font-weight:bold;">%%</span>
0092 
0093 <span style="color:#27ae60;">#include </span><span style="color:#27ae60;">&lt;stdio.h&gt;</span>
0094 
0095 <span style="color:#2980b9;">int</span> main<span style="color:#3f8058;">(</span><span style="color:#2980b9;">void</span><span style="color:#3f8058;">)</span>
0096 <span style="color:#3f8058;">{</span>
0097   puts<span style="color:#3f8058;">(</span><span style="color:#f44f4f;">&quot;Hello, World!&quot;</span><span style="color:#3f8058;">)</span><span style="color:#3f8058;">;</span>
0098   <span style="color:#fdbc4b;font-weight:bold;">return</span> <span style="color:#f67400;">0</span><span style="color:#3f8058;">;</span>
0099 <span style="color:#3f8058;">}</span>
0100 
0101 <span style="color:#7a7c7d;">// </span><span style="color:#e85848;background-color:#451e1a;font-weight:bold;">ALERT</span><span style="color:#7a7c7d;"> </span><span style="color:#81ca2d;background-color:#4d1f24;font-weight:bold;">NOTE</span>
0102 </pre></body></html>