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;"><iostream></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;"><int_val></span> TOK_NOT_EQUAL <span style="color:#f44f4f;">"!="</span> 0033 <span style="font-weight:bold;">%token</span> <span style="color:#2980b9;"><int_val></span> TOK_LESSER_E <span style="color:#f44f4f;">"<="</span> 0034 <span style="font-weight:bold;">%token</span> <span style="color:#2980b9;"><int_val></span> TOK_GREATER_E <span style="color:#f44f4f;">">="</span> 0035 <span style="font-weight:bold;">%token</span> <span style="color:#2980b9;"><int_val></span> TOK_EQUAL_2 <span style="color:#f44f4f;">"=="</span> <span style="color:#7a7c7d;">//comment</span> 0036 <span style="font-weight:bold;">%token</span> 0037 PERCENT_DEBUG <span style="color:#f44f4f;">"%debug"</span> 0038 PERCENT_DEFAULT_PREC <span style="color:#f44f4f;">"%default-prec"</span> 0039 PERCENT_DEFINE <span style="color:#f44f4f;">"%define"</span> 0040 ; 0041 0042 <span style="font-weight:bold;">%type</span> <span style="color:#2980b9;"><int_val></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;"><stdio.h></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;">"</span><span style="color:#3daee9;">%d</span><span style="color:#f44f4f;">"</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;"><*></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;">-></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;">-></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;">-></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;">-></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;">-></span>real <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">$</span><span style="color:#2980b9;"><int_val></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;"><type></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;">"</span><span style="color:#3daee9;">%s</span><span style="color:#f44f4f;">"</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;"><type></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;">"hello"</span> { <span style="font-weight:bold;">$$</span> <span style="color:#3f8058;">=</span> hello<span style="color:#3f8058;">;</span> } 0079 | <span style="color:#f44f4f;">"bye"</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;">"hi"</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;"><stdio.h></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;">"Hello, World!"</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>