From: helly Date: Fri, 30 Dec 2005 23:56:52 +0000 (+0000) Subject: - Added ability to control indendation. X-Git-Tag: 0.13.6~538 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=244b5832ae9cdf97e4db4aacb7e5cbff01d6fa36;p=re2c - Added ability to control indendation. - Fixed indendation of starting brace of passed thru rule code. --- diff --git a/CHANGELOG b/CHANGELOG index 9c4927f8..3f77c61e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,6 @@ Version 0.10.0 (????-??-??) --------------------------- +- Added ability to control indendation. - Made scanner error out in case an ambiguous /* is found. - Fixed indendation of generated code. - Added support for DOS line endings. diff --git a/actions.cc b/actions.cc index 3e7c9255..1952c88c 100644 --- a/actions.cc +++ b/actions.cc @@ -848,6 +848,11 @@ void optimize(Ins *i) } void genCode(std::ostream& o, RegExp *re) +{ + genCode(o, 0, re); +} + +void genCode(std::ostream& o, uint ind, RegExp *re) { CharSet *cs = new CharSet(); uint j; @@ -906,7 +911,7 @@ void genCode(std::ostream& o, RegExp *re) } DFA *dfa = new DFA(ins, re->size, 0, nRealChars, rep); - dfa->emit(o); + dfa->emit(o, ind); delete dfa; delete [] ins; delete cs; diff --git a/bootstrap/parser.cc b/bootstrap/parser.cc index e32fd6b0..a53764d4 100644 --- a/bootstrap/parser.cc +++ b/bootstrap/parser.cc @@ -61,7 +61,10 @@ ID = 260, CODE = 261, RANGE = 262, - STRING = 263 + STRING = 263, + CONFIG = 264, + VALUE = 265, + NUMBER = 266 }; #endif /* Tokens. */ @@ -71,6 +74,9 @@ #define CODE 261 #define RANGE 262 #define STRING 263 +#define CONFIG 264 +#define VALUE 265 +#define NUMBER 266 @@ -83,8 +89,6 @@ #ifdef HAVE_CONFIG_H #include "config.h" -#elif defined(_WIN32) -#include "config_w32.h" #endif #include @@ -155,12 +159,14 @@ static char* strdup(const char* s) typedef union YYSTYPE { re2c::Symbol *symbol; re2c::RegExp *regexp; - re2c::Token *token; - char op; - re2c::ExtOp extop; + re2c::Token *token; + char op; + int number; + re2c::ExtOp extop; + re2c::Str *str; } YYSTYPE; /* Line 196 of yacc.c. */ -#line 162 "parser.cc" +#line 170 "parser.cc" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 @@ -172,7 +178,7 @@ typedef union YYSTYPE { /* Line 219 of yacc.c. */ -#line 174 "parser.cc" +#line 182 "parser.cc" #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ @@ -323,20 +329,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 28 +#define YYLAST 35 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 16 +#define YYNTOKENS 19 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 11 /* YYNRULES -- Number of rules. */ -#define YYNRULES 23 +#define YYNRULES 25 /* YYNRULES -- Number of states. */ -#define YYNSTATES 33 +#define YYNSTATES 39 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 263 +#define YYMAXUTOK 266 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -348,15 +354,15 @@ static const unsigned char yytranslate[] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 14, 15, 2, 2, 2, 2, 2, 11, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 10, - 2, 9, 2, 2, 2, 2, 2, 2, 2, 2, + 17, 18, 2, 2, 2, 2, 2, 14, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 13, + 2, 12, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 13, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 16, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 12, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 15, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -370,7 +376,7 @@ static const unsigned char yytranslate[] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, - 5, 6, 7, 8 + 5, 6, 7, 8, 9, 10, 11 }; #if YYDEBUG @@ -378,29 +384,30 @@ static const unsigned char yytranslate[] = YYRHS. */ static const unsigned char yyprhs[] = { - 0, 0, 3, 4, 7, 10, 15, 19, 20, 23, - 25, 29, 31, 35, 37, 40, 42, 45, 48, 50, - 53, 55, 57, 59 + 0, 0, 3, 4, 7, 10, 15, 20, 25, 29, + 30, 33, 35, 39, 41, 45, 47, 50, 52, 55, + 58, 60, 63, 65, 67, 69 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yysigned_char yyrhs[] = { - 17, 0, -1, -1, 17, 19, -1, 17, 18, -1, - 5, 9, 21, 10, -1, 21, 20, 6, -1, -1, - 11, 21, -1, 22, -1, 21, 12, 22, -1, 23, - -1, 22, 13, 23, -1, 24, -1, 23, 24, -1, - 26, -1, 26, 25, -1, 26, 3, -1, 4, -1, - 25, 4, -1, 5, -1, 7, -1, 8, -1, 14, - 21, 15, -1 + 20, 0, -1, -1, 20, 22, -1, 20, 21, -1, + 5, 12, 24, 13, -1, 9, 12, 10, 13, -1, + 9, 12, 11, 13, -1, 24, 23, 6, -1, -1, + 14, 24, -1, 25, -1, 24, 15, 25, -1, 26, + -1, 25, 16, 26, -1, 27, -1, 26, 27, -1, + 29, -1, 29, 28, -1, 29, 3, -1, 4, -1, + 28, 4, -1, 5, -1, 7, -1, 8, -1, 17, + 24, 18, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned char yyrline[] = { - 0, 77, 77, 79, 81, 84, 90, 95, 96, 100, - 102, 106, 108, 115, 117, 121, 123, 137, 143, 145, - 149, 153, 155, 157 + 0, 82, 82, 84, 86, 89, 93, 95, 99, 104, + 105, 109, 111, 115, 117, 124, 126, 130, 132, 146, + 152, 154, 158, 162, 164, 166 }; #endif @@ -410,9 +417,9 @@ static const unsigned char yyrline[] = static const char *const yytname[] = { "$end", "error", "$undefined", "CLOSESIZE", "CLOSE", "ID", "CODE", - "RANGE", "STRING", "'='", "';'", "'/'", "'|'", "'\\\\'", "'('", "')'", - "$accept", "spec", "decl", "rule", "look", "expr", "diff", "term", - "factor", "close", "primary", 0 + "RANGE", "STRING", "CONFIG", "VALUE", "NUMBER", "'='", "';'", "'/'", + "'|'", "'\\\\'", "'('", "')'", "$accept", "spec", "decl", "rule", "look", + "expr", "diff", "term", "factor", "close", "primary", 0 }; #endif @@ -421,25 +428,25 @@ static const char *const yytname[] = token YYLEX-NUM. */ static const unsigned short int yytoknum[] = { - 0, 256, 257, 258, 259, 260, 261, 262, 263, 61, - 59, 47, 124, 92, 40, 41 + 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 61, 59, 47, 124, 92, 40, 41 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned char yyr1[] = { - 0, 16, 17, 17, 17, 18, 19, 20, 20, 21, - 21, 22, 22, 23, 23, 24, 24, 24, 25, 25, - 26, 26, 26, 26 + 0, 19, 20, 20, 20, 21, 21, 21, 22, 23, + 23, 24, 24, 25, 25, 26, 26, 27, 27, 27, + 28, 28, 29, 29, 29, 29 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const unsigned char yyr2[] = { - 0, 2, 0, 2, 2, 4, 3, 0, 2, 1, - 3, 1, 3, 1, 2, 1, 2, 2, 1, 2, - 1, 1, 1, 3 + 0, 2, 0, 2, 2, 4, 4, 4, 3, 0, + 2, 1, 3, 1, 3, 1, 2, 1, 2, 2, + 1, 2, 1, 1, 1, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -447,35 +454,35 @@ static const unsigned char yyr2[] = means the default is an error. */ static const unsigned char yydefact[] = { - 2, 0, 1, 20, 21, 22, 0, 4, 3, 7, - 9, 11, 13, 15, 0, 20, 0, 0, 0, 0, - 0, 14, 17, 18, 16, 0, 23, 8, 10, 6, - 12, 19, 5 + 2, 0, 1, 22, 23, 24, 0, 0, 4, 3, + 9, 11, 13, 15, 17, 0, 0, 22, 0, 0, + 0, 0, 0, 16, 19, 20, 18, 0, 0, 0, + 25, 10, 12, 8, 14, 21, 5, 6, 7 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yysigned_char yydefgoto[] = { - -1, 1, 7, 8, 19, 9, 10, 11, 12, 24, - 13 + -1, 1, 8, 9, 21, 10, 11, 12, 13, 26, + 14 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -12 +#define YYPACT_NINF -13 static const yysigned_char yypact[] = { - -12, 1, -12, 13, -12, -12, 9, -12, -12, 0, - 5, 9, -12, 17, 9, -12, -8, 9, 9, 18, - 9, -12, -12, -12, 21, -7, -12, 14, 5, -12, - 9, -12, -12 + -13, 1, -13, -5, -13, -13, 0, -3, -13, -13, + 6, 11, -3, -13, 20, -3, 15, -13, -2, -3, + -3, 22, -3, -13, -13, -13, 25, 4, 17, 18, + -13, 19, 11, -13, -3, -13, -13, -13, -13 }; /* YYPGOTO[NTERM-NUM]. */ static const yysigned_char yypgoto[] = { - -12, -12, -12, -12, -12, -4, 10, 7, -11, -12, - -12 + -13, -13, -13, -13, -13, -4, 12, 13, -12, -13, + -13 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -485,26 +492,28 @@ static const yysigned_char yypgoto[] = #define YYTABLE_NINF -1 static const unsigned char yytable[] = { - 21, 2, 16, 32, 18, 18, 3, 26, 4, 5, - 25, 17, 18, 27, 15, 6, 4, 5, 20, 21, - 22, 23, 14, 6, 29, 31, 18, 30, 28 + 23, 2, 17, 18, 4, 5, 3, 15, 4, 5, + 6, 27, 16, 20, 7, 31, 30, 36, 7, 20, + 19, 20, 23, 24, 25, 28, 29, 22, 33, 35, + 37, 38, 32, 0, 20, 34 }; -static const unsigned char yycheck[] = +static const yysigned_char yycheck[] = { - 11, 0, 6, 10, 12, 12, 5, 15, 7, 8, - 14, 11, 12, 17, 5, 14, 7, 8, 13, 30, - 3, 4, 9, 14, 6, 4, 12, 20, 18 + 12, 0, 5, 7, 7, 8, 5, 12, 7, 8, + 9, 15, 12, 15, 17, 19, 18, 13, 17, 15, + 14, 15, 34, 3, 4, 10, 11, 16, 6, 4, + 13, 13, 20, -1, 15, 22 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const unsigned char yystos[] = { - 0, 17, 0, 5, 7, 8, 14, 18, 19, 21, - 22, 23, 24, 26, 9, 5, 21, 11, 12, 20, - 13, 24, 3, 4, 25, 21, 15, 21, 22, 6, - 23, 4, 10 + 0, 20, 0, 5, 7, 8, 9, 17, 21, 22, + 24, 25, 26, 27, 29, 12, 12, 5, 24, 14, + 15, 23, 16, 27, 3, 4, 28, 24, 10, 11, + 18, 24, 25, 6, 26, 4, 13, 13, 13 }; #define yyerrok (yyerrstatus = 0) @@ -1174,59 +1183,56 @@ yyreduce: switch (yyn) { case 2: -#line 77 "parser.y" +#line 82 "parser.y" { accept = 0; spec = NULL; } break; case 3: -#line 80 "parser.y" +#line 85 "parser.y" { spec = spec? mkAlt(spec, (yyvsp[0].regexp)) : (yyvsp[0].regexp); } break; case 5: -#line 85 "parser.y" +#line 90 "parser.y" { if((yyvsp[-3].symbol)->re) in->fatal("sym already defined"); (yyvsp[-3].symbol)->re = (yyvsp[-1].regexp); } break; case 6: -#line 91 "parser.y" - { (yyval.regexp) = new RuleOp((yyvsp[-2].regexp), (yyvsp[-1].regexp), (yyvsp[0].token), accept++); } +#line 94 "parser.y" + { in->config((yyvsp[-3].str), (yyvsp[-1].str)); } break; case 7: -#line 95 "parser.y" - { (yyval.regexp) = new NullOp; } +#line 96 "parser.y" + { in->config((yyvsp[-3].str), (yyvsp[-1].number)); } break; case 8: -#line 97 "parser.y" - { (yyval.regexp) = (yyvsp[0].regexp); } +#line 100 "parser.y" + { (yyval.regexp) = new RuleOp((yyvsp[-2].regexp), (yyvsp[-1].regexp), (yyvsp[0].token), accept++); } break; case 9: -#line 101 "parser.y" - { (yyval.regexp) = (yyvsp[0].regexp); } +#line 104 "parser.y" + { (yyval.regexp) = new NullOp; } break; case 10: -#line 103 "parser.y" - { (yyval.regexp) = mkAlt((yyvsp[-2].regexp), (yyvsp[0].regexp)); } +#line 106 "parser.y" + { (yyval.regexp) = (yyvsp[0].regexp); } break; case 11: -#line 107 "parser.y" +#line 110 "parser.y" { (yyval.regexp) = (yyvsp[0].regexp); } break; case 12: -#line 109 "parser.y" - { (yyval.regexp) = mkDiff((yyvsp[-2].regexp), (yyvsp[0].regexp)); - if(!(yyval.regexp)) - in->fatal("can only difference char sets"); - } +#line 112 "parser.y" + { (yyval.regexp) = mkAlt((yyvsp[-2].regexp), (yyvsp[0].regexp)); } break; case 13: @@ -1236,16 +1242,29 @@ yyreduce: case 14: #line 118 "parser.y" - { (yyval.regexp) = new CatOp((yyvsp[-1].regexp), (yyvsp[0].regexp)); } + { (yyval.regexp) = mkDiff((yyvsp[-2].regexp), (yyvsp[0].regexp)); + if(!(yyval.regexp)) + in->fatal("can only difference char sets"); + } break; case 15: -#line 122 "parser.y" +#line 125 "parser.y" { (yyval.regexp) = (yyvsp[0].regexp); } break; case 16: -#line 124 "parser.y" +#line 127 "parser.y" + { (yyval.regexp) = new CatOp((yyvsp[-1].regexp), (yyvsp[0].regexp)); } + break; + + case 17: +#line 131 "parser.y" + { (yyval.regexp) = (yyvsp[0].regexp); } + break; + + case 18: +#line 133 "parser.y" { switch((yyvsp[0].op)){ case '*': @@ -1261,42 +1280,42 @@ yyreduce: } break; - case 17: -#line 138 "parser.y" + case 19: +#line 147 "parser.y" { (yyval.regexp) = new CloseVOp((yyvsp[-1].regexp), (yyvsp[0].extop).minsize, (yyvsp[0].extop).maxsize); } break; - case 18: -#line 144 "parser.y" + case 20: +#line 153 "parser.y" { (yyval.op) = (yyvsp[0].op); } break; - case 19: -#line 146 "parser.y" + case 21: +#line 155 "parser.y" { (yyval.op) = ((yyvsp[-1].op) == (yyvsp[0].op)) ? (yyvsp[-1].op) : '*'; } break; - case 20: -#line 150 "parser.y" + case 22: +#line 159 "parser.y" { if(!(yyvsp[0].symbol)->re) in->fatal("can't find symbol"); (yyval.regexp) = (yyvsp[0].symbol)->re; } break; - case 21: -#line 154 "parser.y" + case 23: +#line 163 "parser.y" { (yyval.regexp) = (yyvsp[0].regexp); } break; - case 22: -#line 156 "parser.y" + case 24: +#line 165 "parser.y" { (yyval.regexp) = (yyvsp[0].regexp); } break; - case 23: -#line 158 "parser.y" + case 25: +#line 167 "parser.y" { (yyval.regexp) = (yyvsp[-1].regexp); } break; @@ -1305,8 +1324,8 @@ yyreduce: } /* Line 1126 of yacc.c. */ -#line 1307 "parser.cc" - +#line 1328 "parser.cc" + yyvsp -= yylen; yyssp -= yylen; @@ -1573,7 +1592,7 @@ yyreturn: } -#line 161 "parser.y" +#line 170 "parser.y" extern "C" { @@ -1633,7 +1652,7 @@ void parse(std::istream& i, std::ostream &o){ yyparse(); if(spec) { - genCode(o, spec); + genCode(o, topIndent, spec); } line_source(in->line(), o); } @@ -1641,4 +1660,3 @@ void parse(std::istream& i, std::ostream &o){ } // end namespace re2c - diff --git a/bootstrap/scanner.cc b/bootstrap/scanner.cc index 4c6497df..df6a4a00 100644 --- a/bootstrap/scanner.cc +++ b/bootstrap/scanner.cc @@ -1,4 +1,4 @@ -/* Generated by re2c 0.9.13.dev on Wed Dec 28 18:30:39 2005 */ +/* Generated by re2c 0.10.0.dev on Sat Dec 31 00:11:13 2005 */ #line 1 "scanner.re" /* $Id$ */ #include @@ -30,7 +30,7 @@ namespace re2c Scanner::Scanner(std::istream& i) : in(i), bot(NULL), tok(NULL), ptr(NULL), cur(NULL), pos(NULL), lim(NULL), - top(NULL), eof(NULL), tchar(0), tline(0), cline(1) + top(NULL), eof(NULL), tchar(0), tline(0), cline(1), iscfg(0) { ; } @@ -71,7 +71,7 @@ char *Scanner::fill(char *cursor) return cursor; } -#line 83 "scanner.re" +#line 89 "scanner.re" int Scanner::echo(std::ostream &out){ @@ -96,55 +96,61 @@ echo: yy0: if((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; - if(yych <= ')'){ - if(yych <= 0x00) goto yy7; - if(yych == 0x0A) goto yy5; + if(yych <= ')') { + if(yych <= 0x00) goto yy7; + if(yych == 0x0A) goto yy5; goto yy9; } else { - if(yych <= '*') goto yy4; - if(yych != '/') goto yy9; + if(yych <= '*') goto yy4; + if(yych != '/') goto yy9; goto yy2; } -yy2: yyaccept = 0; +yy2: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if(yych == '*') goto yy12; + if(yych == '*') goto yy12; goto yy3; yy3: -#line 129 "scanner.re" +#line 135 "scanner.re" { goto echo; } -#line 118 "scanner.cc" -yy4: yych = *++YYCURSOR; - if(yych == '/') goto yy10; +#line 119 "scanner.cc" +yy4: + yych = *++YYCURSOR; + if(yych == '/') goto yy10; goto yy3; -yy5: ++YYCURSOR; +yy5: + ++YYCURSOR; goto yy6; yy6: -#line 118 "scanner.re" +#line 124 "scanner.re" { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); tok = pos = cursor; cline++; oline++; goto echo; } -#line 131 "scanner.cc" -yy7: ++YYCURSOR; +#line 134 "scanner.cc" +yy7: + ++YYCURSOR; goto yy8; yy8: -#line 123 "scanner.re" +#line 129 "scanner.re" { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok) - 1); // -1 so we don't write out the \0 if(cursor == eof) { RETURN(0); } } -#line 142 "scanner.cc" -yy9: yych = *++YYCURSOR; +#line 146 "scanner.cc" +yy9: + yych = *++YYCURSOR; goto yy3; -yy10: ++YYCURSOR; +yy10: + ++YYCURSOR; goto yy11; yy11: -#line 109 "scanner.re" +#line 115 "scanner.re" { if (ignore_eoc) { ignore_eoc = false; @@ -154,76 +160,92 @@ yy11: tok = pos = cursor; goto echo; } -#line 158 "scanner.cc" -yy12: yych = *++YYCURSOR; - if(yych == '!') goto yy14; +#line 164 "scanner.cc" +yy12: + yych = *++YYCURSOR; + if(yych == '!') goto yy14; goto yy13; -yy13: YYCURSOR = YYMARKER; +yy13: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy3; } -yy14: yych = *++YYCURSOR; - if(yych == 'm') goto yy15; - if(yych == 'r') goto yy16; +yy14: + yych = *++YYCURSOR; + if(yych == 'm') goto yy15; + if(yych == 'r') goto yy16; goto yy13; -yy15: yych = *++YYCURSOR; - if(yych == 'a') goto yy21; +yy15: + yych = *++YYCURSOR; + if(yych == 'a') goto yy21; goto yy13; -yy16: yych = *++YYCURSOR; - if(yych != 'e') goto yy13; +yy16: + yych = *++YYCURSOR; + if(yych != 'e') goto yy13; goto yy17; -yy17: yych = *++YYCURSOR; - if(yych != '2') goto yy13; +yy17: + yych = *++YYCURSOR; + if(yych != '2') goto yy13; goto yy18; -yy18: yych = *++YYCURSOR; - if(yych != 'c') goto yy13; +yy18: + yych = *++YYCURSOR; + if(yych != 'c') goto yy13; goto yy19; -yy19: ++YYCURSOR; +yy19: + ++YYCURSOR; goto yy20; yy20: -#line 98 "scanner.re" +#line 104 "scanner.re" { out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok)); tok = cursor; RETURN(1); } -#line 191 "scanner.cc" -yy21: yych = *++YYCURSOR; - if(yych != 'x') goto yy13; +#line 205 "scanner.cc" +yy21: + yych = *++YYCURSOR; + if(yych != 'x') goto yy13; goto yy22; -yy22: yych = *++YYCURSOR; - if(yych != ':') goto yy13; +yy22: + yych = *++YYCURSOR; + if(yych != ':') goto yy13; goto yy23; -yy23: yych = *++YYCURSOR; - if(yych != 'r') goto yy13; +yy23: + yych = *++YYCURSOR; + if(yych != 'r') goto yy13; goto yy24; -yy24: yych = *++YYCURSOR; - if(yych != 'e') goto yy13; +yy24: + yych = *++YYCURSOR; + if(yych != 'e') goto yy13; goto yy25; -yy25: yych = *++YYCURSOR; - if(yych != '2') goto yy13; +yy25: + yych = *++YYCURSOR; + if(yych != '2') goto yy13; goto yy26; -yy26: yych = *++YYCURSOR; - if(yych != 'c') goto yy13; +yy26: + yych = *++YYCURSOR; + if(yych != 'c') goto yy13; goto yy27; -yy27: ++YYCURSOR; +yy27: + ++YYCURSOR; goto yy28; yy28: -#line 103 "scanner.re" +#line 109 "scanner.re" { out << "#define YYMAXFILL " << maxFill << std::endl; tok = pos = cursor; ignore_eoc = true; goto echo; } -#line 220 "scanner.cc" +#line 241 "scanner.cc" } -#line 132 "scanner.re" +#line 138 "scanner.re" } -int Scanner::scan(){ +int Scanner::scan() +{ char *cursor = cur; uint depth; @@ -231,156 +253,198 @@ scan: tchar = cursor - pos; tline = cline; tok = cursor; + if (iscfg == 1) + { + goto config; + } + else if (iscfg == 2) + { + goto value; + } -#line 236 "scanner.cc" +#line 266 "scanner.cc" { YYCTYPE yych; unsigned int yyaccept = 0; goto yy29; ++YYCURSOR; yy29: - if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); - yych = *YYCURSOR; - if(yych <= '.'){ - if(yych <= '!'){ - if(yych <= 0x0C){ - if(yych <= 0x08) goto yy55; - if(yych <= 0x09) goto yy49; - if(yych <= 0x0A) goto yy53; - goto yy55; + if((YYLIMIT - YYCURSOR) < 6) YYFILL(6); + yych = *YYCURSOR; + if(yych <= '/') { + if(yych <= '!') { + if(yych <= 0x0C) { + if(yych <= 0x08) goto yy56; + if(yych <= 0x09) goto yy50; + if(yych <= 0x0A) goto yy52; + goto yy56; } else { - if(yych <= 0x0D) goto yy51; - if(yych == ' ') goto yy49; - goto yy55; + if(yych <= 0x0D) goto yy54; + if(yych == ' ') goto yy50; + goto yy56; } } else { - if(yych <= ')'){ - if(yych <= '"') goto yy37; - if(yych <= '&') goto yy55; - if(yych <= '\'') goto yy39; + if(yych <= ')') { + if(yych <= '"') goto yy37; + if(yych <= '&') goto yy56; + if(yych <= '\'') goto yy39; goto yy43; } else { - if(yych <= '*') goto yy35; - if(yych <= '+') goto yy44; - if(yych <= '-') goto yy55; - goto yy47; + if(yych <= '+') { + if(yych <= '*') goto yy35; + goto yy44; + } else { + if(yych <= '-') goto yy56; + if(yych <= '.') goto yy48; + goto yy33; + } } } } else { - if(yych <= '@'){ - if(yych <= '<'){ - if(yych <= '/') goto yy33; - if(yych == ';') goto yy43; - goto yy55; + if(yych <= 'Z') { + if(yych <= '=') { + if(yych == ';') goto yy43; + if(yych <= '<') goto yy56; + goto yy43; } else { - if(yych <= '=') goto yy43; - if(yych == '?') goto yy44; - goto yy55; + if(yych == '?') goto yy44; + if(yych <= '@') goto yy56; + goto yy45; } } else { - if(yych <= '`'){ - if(yych <= 'Z') goto yy45; - if(yych <= '[') goto yy41; - if(yych <= '\\') goto yy43; - goto yy55; + if(yych <= 'q') { + if(yych <= '[') goto yy41; + if(yych <= '\\') goto yy43; + if(yych <= '`') goto yy56; + goto yy45; } else { - if(yych <= 'z') goto yy45; - if(yych <= '{') goto yy31; - if(yych <= '|') goto yy43; - goto yy55; + if(yych <= 'z') { + if(yych <= 'r') goto yy47; + goto yy45; + } else { + if(yych <= '{') goto yy31; + if(yych <= '|') goto yy43; + goto yy56; + } } } } -yy31: yyaccept = 0; +yy31: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if(yych <= '/'){ - if(yych == ',') goto yy90; + if(yych <= '/') { + if(yych == ',') goto yy97; goto yy32; } else { - if(yych <= '0') goto yy87; - if(yych <= '9') goto yy88; + if(yych <= '0') goto yy94; + if(yych <= '9') goto yy95; goto yy32; } yy32: -#line 145 "scanner.re" +#line 160 "scanner.re" { depth = 1; goto code; } -#line 310 "scanner.cc" -yy33: ++YYCURSOR; - if((yych = *YYCURSOR) == '*') goto yy85; +#line 349 "scanner.cc" +yy33: + ++YYCURSOR; + if((yych = *YYCURSOR) == '*') goto yy92; goto yy34; yy34: -#line 175 "scanner.re" +#line 190 "scanner.re" { RETURN(*tok); } -#line 317 "scanner.cc" -yy35: ++YYCURSOR; - if((yych = *YYCURSOR) == '/') goto yy83; +#line 357 "scanner.cc" +yy35: + ++YYCURSOR; + if((yych = *YYCURSOR) == '/') goto yy90; goto yy36; yy36: -#line 177 "scanner.re" +#line 192 "scanner.re" { yylval.op = *tok; RETURN(CLOSE); } -#line 325 "scanner.cc" -yy37: yyaccept = 1; +#line 366 "scanner.cc" +yy37: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if(yych != 0x0A) goto yy79; + if(yych != 0x0A) goto yy86; goto yy38; yy38: -#line 162 "scanner.re" +#line 177 "scanner.re" { fatal("unterminated string constant (missing \")"); } -#line 333 "scanner.cc" -yy39: yyaccept = 2; +#line 375 "scanner.cc" +yy39: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if(yych != 0x0A) goto yy74; + if(yych != 0x0A) goto yy81; goto yy40; yy40: -#line 163 "scanner.re" +#line 178 "scanner.re" { fatal("unterminated string constant (missing ')"); } -#line 341 "scanner.cc" -yy41: yyaccept = 3; +#line 384 "scanner.cc" +yy41: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); - if(yych == 0x0A) goto yy42; - if(yych == '^') goto yy65; - goto yy63; + if(yych == 0x0A) goto yy42; + if(yych == '^') goto yy72; + goto yy71; yy42: -#line 173 "scanner.re" +#line 188 "scanner.re" { fatal("unterminated range (missing ])"); } -#line 350 "scanner.cc" -yy43: yych = *++YYCURSOR; +#line 394 "scanner.cc" +yy43: + yych = *++YYCURSOR; goto yy34; -yy44: yych = *++YYCURSOR; +yy44: + yych = *++YYCURSOR; goto yy36; -yy45: ++YYCURSOR; +yy45: + ++YYCURSOR; yych = *YYCURSOR; - goto yy61; + goto yy62; yy46: -#line 197 "scanner.re" +#line 212 "scanner.re" { cur = cursor; yylval.symbol = Symbol::find(token()); return ID; } -#line 363 "scanner.cc" -yy47: ++YYCURSOR; - goto yy48; +#line 410 "scanner.cc" +yy47: + yych = *++YYCURSOR; + if(yych == 'e') goto yy60; + goto yy62; yy48: -#line 201 "scanner.re" + ++YYCURSOR; + goto yy49; +yy49: +#line 223 "scanner.re" { cur = cursor; yylval.regexp = mkDot(); return RANGE; } -#line 372 "scanner.cc" -yy49: ++YYCURSOR; +#line 424 "scanner.cc" +yy50: + ++YYCURSOR; yych = *YYCURSOR; goto yy59; -yy50: -#line 206 "scanner.re" +yy51: +#line 228 "scanner.re" { goto scan; } -#line 379 "scanner.cc" -yy51: ++YYCURSOR; - if((yych = *YYCURSOR) == 0x0A) goto yy56; - goto yy52; +#line 432 "scanner.cc" yy52: -#line 217 "scanner.re" + ++YYCURSOR; + goto yy53; +yy53: +#line 230 "scanner.re" +{ if(cursor == eof) RETURN(0); + pos = cursor; cline++; + goto scan; + } +#line 442 "scanner.cc" +yy54: + ++YYCURSOR; + if((yych = *YYCURSOR) == 0x0A) goto yy57; + goto yy55; +yy55: +#line 235 "scanner.re" { std::cerr << "line " << tline << ", column " << (tchar + 1) << ": unexpected character: "; if (isprint(*tok)) @@ -393,415 +457,842 @@ yy52: } goto scan; } -#line 397 "scanner.cc" -yy53: ++YYCURSOR; - goto yy54; -yy54: -#line 212 "scanner.re" -{ if(cursor == eof) RETURN(0); - pos = cursor; cline++; - goto scan; - } -#line 406 "scanner.cc" -yy55: yych = *++YYCURSOR; - goto yy52; -yy56: ++YYCURSOR; - goto yy57; +#line 461 "scanner.cc" +yy56: + yych = *++YYCURSOR; + goto yy55; yy57: -#line 208 "scanner.re" -{ if(cursor == eof) RETURN(0); - pos = cursor; cline++; - goto scan; - } -#line 417 "scanner.cc" -yy58: ++YYCURSOR; + yych = *++YYCURSOR; + goto yy53; +yy58: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy59; -yy59: if(yych == 0x09) goto yy58; - if(yych == ' ') goto yy58; - goto yy50; -yy60: ++YYCURSOR; +yy59: + if(yych == 0x09) goto yy58; + if(yych == ' ') goto yy58; + goto yy51; +yy60: + yych = *++YYCURSOR; + if(yych == '2') goto yy63; + goto yy62; +yy61: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy61; -yy61: if(yych <= '@'){ - if(yych <= '/') goto yy46; - if(yych <= '9') goto yy60; + goto yy62; +yy62: + if(yych <= '@') { + if(yych <= '/') goto yy46; + if(yych <= '9') goto yy61; goto yy46; } else { - if(yych <= 'Z') goto yy60; - if(yych <= '`') goto yy46; - if(yych <= 'z') goto yy60; + if(yych <= 'Z') goto yy61; + if(yych <= '`') goto yy46; + if(yych <= 'z') goto yy61; goto yy46; } -yy62: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - goto yy63; -yy63: if(yych <= '['){ - if(yych != 0x0A) goto yy62; - goto yy64; - } else { - if(yych <= '\\') goto yy67; - if(yych <= ']') goto yy68; - goto yy62; - } -yy64: YYCURSOR = YYMARKER; +yy63: + yych = *++YYCURSOR; + if(yych != 'c') goto yy62; + goto yy64; +yy64: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if(yych != ':') goto yy62; + goto yy65; +yy65: + yych = *++YYCURSOR; + if(yych <= '@') goto yy66; + if(yych <= 'Z') goto yy67; + if(yych <= '`') goto yy66; + if(yych <= 'z') goto yy67; + goto yy66; +yy66: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy32; case 1: goto yy38; case 2: goto yy40; case 3: goto yy42; - case 4: goto yy91; + case 5: goto yy98; + case 4: goto yy46; + } +yy67: + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + goto yy68; +yy68: + if(yych <= '@') { + if(yych <= '/') goto yy69; + if(yych <= '9') goto yy67; + goto yy69; + } else { + if(yych <= 'Z') goto yy67; + if(yych <= '`') goto yy69; + if(yych <= 'z') goto yy67; + goto yy69; } -yy65: ++YYCURSOR; +yy69: +#line 216 "scanner.re" +{ cur = cursor; + tok+= 5; /* skip "re2c:" */ + iscfg = 1; + yylval.str = new Str(token()); + return CONFIG; + } +#line 547 "scanner.cc" +yy70: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy66; -yy66: if(yych <= '['){ - if(yych == 0x0A) goto yy64; - goto yy65; + goto yy71; +yy71: + if(yych <= '[') { + if(yych == 0x0A) goto yy66; + goto yy70; + } else { + if(yych <= '\\') goto yy74; + if(yych <= ']') goto yy75; + goto yy70; + } +yy72: + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + goto yy73; +yy73: + if(yych <= '[') { + if(yych == 0x0A) goto yy66; + goto yy72; } else { - if(yych <= '\\') goto yy70; - if(yych <= ']') goto yy71; - goto yy65; + if(yych <= '\\') goto yy77; + if(yych <= ']') goto yy78; + goto yy72; } -yy67: ++YYCURSOR; +yy74: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych == 0x0A) goto yy64; - goto yy62; -yy68: ++YYCURSOR; - goto yy69; -yy69: -#line 169 "scanner.re" + if(yych == 0x0A) goto yy66; + goto yy70; +yy75: + ++YYCURSOR; + goto yy76; +yy76: +#line 184 "scanner.re" { cur = cursor; yylval.regexp = ranToRE(token()); return RANGE; } -#line 483 "scanner.cc" -yy70: ++YYCURSOR; +#line 590 "scanner.cc" +yy77: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych == 0x0A) goto yy64; - goto yy65; -yy71: ++YYCURSOR; + if(yych == 0x0A) goto yy66; goto yy72; -yy72: -#line 165 "scanner.re" +yy78: + ++YYCURSOR; + goto yy79; +yy79: +#line 180 "scanner.re" { cur = cursor; yylval.regexp = invToRE(token()); return RANGE; } -#line 496 "scanner.cc" -yy73: ++YYCURSOR; +#line 605 "scanner.cc" +yy80: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy74; -yy74: if(yych <= '&'){ - if(yych == 0x0A) goto yy64; - goto yy73; + goto yy81; +yy81: + if(yych <= '&') { + if(yych == 0x0A) goto yy66; + goto yy80; } else { - if(yych <= '\'') goto yy76; - if(yych != '\\') goto yy73; - goto yy75; + if(yych <= '\'') goto yy83; + if(yych != '\\') goto yy80; + goto yy82; } -yy75: ++YYCURSOR; +yy82: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych == 0x0A) goto yy64; - goto yy73; -yy76: ++YYCURSOR; - goto yy77; -yy77: -#line 158 "scanner.re" + if(yych == 0x0A) goto yy66; + goto yy80; +yy83: + ++YYCURSOR; + goto yy84; +yy84: +#line 173 "scanner.re" { cur = cursor; yylval.regexp = strToCaseInsensitiveRE(token()); return STRING; } -#line 521 "scanner.cc" -yy78: ++YYCURSOR; +#line 634 "scanner.cc" +yy85: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy79; -yy79: if(yych <= '!'){ - if(yych == 0x0A) goto yy64; - goto yy78; + goto yy86; +yy86: + if(yych <= '!') { + if(yych == 0x0A) goto yy66; + goto yy85; } else { - if(yych <= '"') goto yy81; - if(yych != '\\') goto yy78; - goto yy80; + if(yych <= '"') goto yy88; + if(yych != '\\') goto yy85; + goto yy87; } -yy80: ++YYCURSOR; +yy87: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych == 0x0A) goto yy64; - goto yy78; -yy81: ++YYCURSOR; - goto yy82; -yy82: -#line 154 "scanner.re" + if(yych == 0x0A) goto yy66; + goto yy85; +yy88: + ++YYCURSOR; + goto yy89; +yy89: +#line 169 "scanner.re" { cur = cursor; yylval.regexp = strToRE(token()); return STRING; } -#line 546 "scanner.cc" -yy83: ++YYCURSOR; - goto yy84; -yy84: -#line 151 "scanner.re" +#line 663 "scanner.cc" +yy90: + ++YYCURSOR; + goto yy91; +yy91: +#line 166 "scanner.re" { tok = cursor; RETURN(0); } -#line 553 "scanner.cc" -yy85: ++YYCURSOR; - goto yy86; -yy86: -#line 148 "scanner.re" +#line 671 "scanner.cc" +yy92: + ++YYCURSOR; + goto yy93; +yy93: +#line 163 "scanner.re" { depth = 1; goto comment; } -#line 560 "scanner.cc" -yy87: yych = *++YYCURSOR; - if(yych == ',') goto yy101; - goto yy89; -yy88: ++YYCURSOR; +#line 679 "scanner.cc" +yy94: + yych = *++YYCURSOR; + if(yych == ',') goto yy108; + goto yy96; +yy95: + ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - goto yy89; -yy89: if(yych <= '/'){ - if(yych == ',') goto yy94; - goto yy64; + goto yy96; +yy96: + if(yych <= '/') { + if(yych == ',') goto yy101; + goto yy66; } else { - if(yych <= '9') goto yy88; - if(yych == '}') goto yy92; - goto yy64; + if(yych <= '9') goto yy95; + if(yych == '}') goto yy99; + goto yy66; } -yy90: ++YYCURSOR; - goto yy91; -yy91: -#line 195 "scanner.re" +yy97: + ++YYCURSOR; + goto yy98; +yy98: +#line 210 "scanner.re" { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } -#line 581 "scanner.cc" -yy92: ++YYCURSOR; - goto yy93; -yy93: -#line 183 "scanner.re" +#line 704 "scanner.cc" +yy99: + ++YYCURSOR; + goto yy100; +yy100: +#line 198 "scanner.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); } -#line 589 "scanner.cc" -yy94: yyaccept = 4; +#line 713 "scanner.cc" +yy101: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if(yych <= '/') goto yy91; - if(yych <= '9') goto yy97; - if(yych != '}') goto yy91; - goto yy95; -yy95: ++YYCURSOR; - goto yy96; -yy96: -#line 191 "scanner.re" + if(yych <= '/') goto yy98; + if(yych <= '9') goto yy104; + if(yych != '}') goto yy98; + goto yy102; +yy102: + ++YYCURSOR; + goto yy103; +yy103: +#line 206 "scanner.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = -1; RETURN(CLOSESIZE); } -#line 603 "scanner.cc" -yy97: ++YYCURSOR; +#line 729 "scanner.cc" +yy104: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy98; -yy98: if(yych <= '/') goto yy64; - if(yych <= '9') goto yy97; - if(yych != '}') goto yy64; - goto yy99; -yy99: ++YYCURSOR; - goto yy100; -yy100: -#line 187 "scanner.re" + goto yy105; +yy105: + if(yych <= '/') goto yy66; + if(yych <= '9') goto yy104; + if(yych != '}') goto yy66; + goto yy106; +yy106: + ++YYCURSOR; + goto yy107; +yy107: +#line 202 "scanner.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1)); RETURN(CLOSESIZE); } -#line 619 "scanner.cc" -yy101: yyaccept = 4; +#line 748 "scanner.cc" +yy108: + yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if(yych <= '/') goto yy91; - if(yych <= '9') goto yy97; - if(yych != '}') goto yy91; - goto yy102; -yy102: ++YYCURSOR; - goto yy103; -yy103: -#line 180 "scanner.re" + if(yych <= '/') goto yy98; + if(yych <= '9') goto yy104; + if(yych != '}') goto yy98; + goto yy109; +yy109: + ++YYCURSOR; + goto yy110; +yy110: +#line 195 "scanner.re" { yylval.op = '*'; RETURN(CLOSE); } -#line 632 "scanner.cc" +#line 763 "scanner.cc" } -#line 229 "scanner.re" +#line 247 "scanner.re" code: -#line 639 "scanner.cc" +#line 770 "scanner.cc" { YYCTYPE yych; unsigned int yyaccept = 0; - goto yy104; + goto yy111; ++YYCURSOR; -yy104: +yy111: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - if(yych <= '&'){ - if(yych <= 0x0A){ - if(yych <= 0x09) goto yy112; - goto yy110; + if(yych <= '&') { + if(yych <= 0x0A) { + if(yych <= 0x09) goto yy119; + goto yy117; } else { - if(yych == '"') goto yy114; - goto yy112; + if(yych == '"') goto yy121; + goto yy119; } } else { - if(yych <= '{'){ - if(yych <= '\'') goto yy115; - if(yych <= 'z') goto yy112; - goto yy108; + if(yych <= '{') { + if(yych <= '\'') goto yy122; + if(yych <= 'z') goto yy119; + goto yy115; } else { - if(yych != '}') goto yy112; - goto yy106; + if(yych != '}') goto yy119; + goto yy113; } } -yy106: ++YYCURSOR; - goto yy107; -yy107: -#line 233 "scanner.re" +yy113: + ++YYCURSOR; + goto yy114; +yy114: +#line 251 "scanner.re" { if(--depth == 0){ cur = cursor; yylval.token = new Token(token(), tline); return CODE; } goto code; } -#line 676 "scanner.cc" -yy108: ++YYCURSOR; - goto yy109; -yy109: -#line 239 "scanner.re" +#line 808 "scanner.cc" +yy115: + ++YYCURSOR; + goto yy116; +yy116: +#line 257 "scanner.re" { ++depth; goto code; } -#line 683 "scanner.cc" -yy110: ++YYCURSOR; - goto yy111; -yy111: -#line 241 "scanner.re" +#line 816 "scanner.cc" +yy117: + ++YYCURSOR; + goto yy118; +yy118: +#line 259 "scanner.re" { if(cursor == eof) fatal("missing '}'"); pos = cursor; cline++; goto code; } -#line 692 "scanner.cc" -yy112: ++YYCURSOR; - goto yy113; -yy113: -#line 245 "scanner.re" +#line 826 "scanner.cc" +yy119: + ++YYCURSOR; + goto yy120; +yy120: +#line 263 "scanner.re" { goto code; } -#line 698 "scanner.cc" -yy114: yyaccept = 0; +#line 833 "scanner.cc" +yy121: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if(yych == 0x0A) goto yy113; - goto yy121; -yy115: yyaccept = 0; + if(yych == 0x0A) goto yy120; + goto yy128; +yy122: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if(yych == 0x0A) goto yy113; - goto yy117; -yy116: ++YYCURSOR; + if(yych == 0x0A) goto yy120; + goto yy124; +yy123: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy117; -yy117: if(yych <= '&'){ - if(yych != 0x0A) goto yy116; - goto yy118; + goto yy124; +yy124: + if(yych <= '&') { + if(yych != 0x0A) goto yy123; + goto yy125; } else { - if(yych <= '\'') goto yy112; - if(yych == '\\') goto yy119; - goto yy116; + if(yych <= '\'') goto yy119; + if(yych == '\\') goto yy126; + goto yy123; } -yy118: YYCURSOR = YYMARKER; +yy125: + YYCURSOR = YYMARKER; switch(yyaccept){ - case 0: goto yy113; + case 0: goto yy120; } -yy119: ++YYCURSOR; +yy126: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych == 0x0A) goto yy118; - goto yy116; -yy120: ++YYCURSOR; + if(yych == 0x0A) goto yy125; + goto yy123; +yy127: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - goto yy121; -yy121: if(yych <= '!'){ - if(yych == 0x0A) goto yy118; - goto yy120; + goto yy128; +yy128: + if(yych <= '!') { + if(yych == 0x0A) goto yy125; + goto yy127; } else { - if(yych <= '"') goto yy112; - if(yych != '\\') goto yy120; - goto yy122; + if(yych <= '"') goto yy119; + if(yych != '\\') goto yy127; + goto yy129; } -yy122: ++YYCURSOR; +yy129: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych == 0x0A) goto yy118; - goto yy120; + if(yych == 0x0A) goto yy125; + goto yy127; } -#line 246 "scanner.re" +#line 264 "scanner.re" comment: -#line 751 "scanner.cc" +#line 895 "scanner.cc" { YYCTYPE yych; - goto yy123; + goto yy130; ++YYCURSOR; -yy123: +yy130: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - if(yych <= ')'){ - if(yych == 0x0A) goto yy128; - goto yy130; + if(yych <= ')') { + if(yych == 0x0A) goto yy135; + goto yy137; } else { - if(yych <= '*') goto yy125; - if(yych == '/') goto yy127; - goto yy130; + if(yych <= '*') goto yy132; + if(yych == '/') goto yy134; + goto yy137; } -yy125: ++YYCURSOR; - if((yych = *YYCURSOR) == '/') goto yy133; - goto yy126; -yy126: -#line 260 "scanner.re" +yy132: + ++YYCURSOR; + if((yych = *YYCURSOR) == '/') goto yy140; + goto yy133; +yy133: +#line 279 "scanner.re" { goto comment; } -#line 773 "scanner.cc" -yy127: yych = *++YYCURSOR; - if(yych == '*') goto yy131; - goto yy126; -yy128: ++YYCURSOR; - goto yy129; -yy129: -#line 256 "scanner.re" +#line 918 "scanner.cc" +yy134: + yych = *++YYCURSOR; + if(yych == '*') goto yy138; + goto yy133; +yy135: + ++YYCURSOR; + goto yy136; +yy136: +#line 275 "scanner.re" { if(cursor == eof) RETURN(0); tok = pos = cursor; cline++; goto comment; } -#line 785 "scanner.cc" -yy130: yych = *++YYCURSOR; - goto yy126; -yy131: ++YYCURSOR; - goto yy132; -yy132: -#line 254 "scanner.re" +#line 932 "scanner.cc" +yy137: + yych = *++YYCURSOR; + goto yy133; +yy138: + ++YYCURSOR; + goto yy139; +yy139: +#line 272 "scanner.re" { ++depth; + fatal("ambiguous /* found"); goto comment; } -#line 794 "scanner.cc" -yy133: ++YYCURSOR; - goto yy134; -yy134: -#line 250 "scanner.re" +#line 944 "scanner.cc" +yy140: + ++YYCURSOR; + goto yy141; +yy141: +#line 268 "scanner.re" { if(--depth == 0) goto scan; else goto comment; } -#line 803 "scanner.cc" +#line 954 "scanner.cc" +} +#line 280 "scanner.re" + + +config: + +#line 961 "scanner.cc" +{ + YYCTYPE yych; + goto yy142; + ++YYCURSOR; +yy142: + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if(yych <= 0x1F) { + if(yych != 0x09) goto yy148; + goto yy144; + } else { + if(yych <= ' ') goto yy144; + if(yych == '=') goto yy146; + goto yy148; + } +yy144: + ++YYCURSOR; + yych = *YYCURSOR; + goto yy153; +yy145: +#line 284 "scanner.re" +{ goto config; } +#line 984 "scanner.cc" +yy146: + ++YYCURSOR; + yych = *YYCURSOR; + goto yy151; +yy147: +#line 285 "scanner.re" +{ iscfg = 2; + cur = cursor; + RETURN('='); + } +#line 995 "scanner.cc" +yy148: + ++YYCURSOR; + goto yy149; +yy149: +#line 289 "scanner.re" +{ fatal("missing '='"); } +#line 1002 "scanner.cc" +yy150: + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + goto yy151; +yy151: + if(yych == 0x09) goto yy150; + if(yych == ' ') goto yy150; + goto yy147; +yy152: + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + goto yy153; +yy153: + if(yych == 0x09) goto yy152; + if(yych == ' ') goto yy152; + goto yy145; +} +#line 290 "scanner.re" + + +value: + +#line 1027 "scanner.cc" +{ + YYCTYPE yych; + unsigned int yyaccept = 0; + goto yy154; + ++YYCURSOR; +yy154: + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if(yych <= '&') { + if(yych <= 0x0D) { + if(yych <= 0x08) goto yy162; + if(yych <= 0x0A) goto yy156; + if(yych <= 0x0C) goto yy162; + goto yy156; + } else { + if(yych <= ' ') { + if(yych <= 0x1F) goto yy162; + goto yy156; + } else { + if(yych == '"') goto yy164; + goto yy162; + } + } + } else { + if(yych <= '/') { + if(yych <= '\'') goto yy166; + if(yych == '-') goto yy159; + goto yy162; + } else { + if(yych <= '9') { + if(yych <= '0') goto yy157; + goto yy160; + } else { + if(yych != ';') goto yy162; + goto yy156; + } + } + } +yy156: +#line 299 "scanner.re" +{ cur = cursor; + yylval.str = new Str(token()); + iscfg = 0; + return VALUE; + } +#line 1073 "scanner.cc" +yy157: + ++YYCURSOR; + if((yych = *YYCURSOR) <= 0x0D) { + if(yych <= 0x08) goto yy162; + if(yych <= 0x0A) goto yy158; + if(yych <= 0x0C) goto yy162; + goto yy158; + } else { + if(yych <= ' ') { + if(yych <= 0x1F) goto yy162; + goto yy158; + } else { + if(yych != ';') goto yy162; + goto yy158; + } + } +yy158: +#line 294 "scanner.re" +{ cur = cursor; + yylval.number = atoi(token().to_string().c_str()); + iscfg = 0; + return NUMBER; + } +#line 1097 "scanner.cc" +yy159: + yych = *++YYCURSOR; + if(yych <= '0') goto yy163; + if(yych >= ':') goto yy163; + goto yy160; +yy160: + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + goto yy161; +yy161: + if(yych <= 0x1F) { + if(yych <= 0x0A) { + if(yych >= 0x09) goto yy158; + goto yy162; + } else { + if(yych == 0x0D) goto yy158; + goto yy162; + } + } else { + if(yych <= '9') { + if(yych <= ' ') goto yy158; + if(yych >= '0') goto yy160; + goto yy162; + } else { + if(yych == ';') goto yy158; + goto yy162; + } + } +yy162: + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + goto yy163; +yy163: + if(yych <= 0x0D) { + if(yych <= 0x08) goto yy162; + if(yych <= 0x0A) goto yy156; + if(yych <= 0x0C) goto yy162; + goto yy156; + } else { + if(yych <= ' ') { + if(yych <= 0x1F) goto yy162; + goto yy156; + } else { + if(yych == ';') goto yy156; + goto yy162; + } + } +yy164: + yyaccept = 0; + YYMARKER = ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + goto yy165; +yy165: + if(yych <= ' ') { + if(yych <= 0x0A) { + if(yych <= 0x08) goto yy164; + if(yych <= 0x09) goto yy174; + goto yy156; + } else { + if(yych == 0x0D) goto yy174; + if(yych <= 0x1F) goto yy164; + goto yy174; + } + } else { + if(yych <= ':') { + if(yych == '"') goto yy162; + goto yy164; + } else { + if(yych <= ';') goto yy174; + if(yych == '\\') goto yy176; + goto yy164; + } + } +yy166: + yyaccept = 0; + YYMARKER = ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + goto yy167; +yy167: + if(yych <= ' ') { + if(yych <= 0x0A) { + if(yych <= 0x08) goto yy166; + if(yych >= 0x0A) goto yy156; + goto yy168; + } else { + if(yych == 0x0D) goto yy168; + if(yych <= 0x1F) goto yy166; + goto yy168; + } + } else { + if(yych <= ':') { + if(yych == '\'') goto yy162; + goto yy166; + } else { + if(yych <= ';') goto yy168; + if(yych == '\\') goto yy171; + goto yy166; + } + } +yy168: + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + goto yy169; +yy169: + if(yych <= '&') { + if(yych != 0x0A) goto yy168; + goto yy170; + } else { + if(yych <= '\'') goto yy172; + if(yych == '\\') goto yy173; + goto yy168; + } +yy170: + YYCURSOR = YYMARKER; + switch(yyaccept){ + case 0: goto yy156; + } +yy171: + yyaccept = 0; + YYMARKER = ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if(yych <= 0x0D) { + if(yych <= 0x09) { + if(yych <= 0x08) goto yy166; + goto yy168; + } else { + if(yych <= 0x0A) goto yy156; + if(yych <= 0x0C) goto yy166; + goto yy168; + } + } else { + if(yych <= ' ') { + if(yych <= 0x1F) goto yy166; + goto yy168; + } else { + if(yych == ';') goto yy168; + goto yy166; + } + } +yy172: + yych = *++YYCURSOR; + goto yy156; +yy173: + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if(yych == 0x0A) goto yy170; + goto yy168; +yy174: + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + goto yy175; +yy175: + if(yych <= '!') { + if(yych == 0x0A) goto yy170; + goto yy174; + } else { + if(yych <= '"') goto yy172; + if(yych == '\\') goto yy177; + goto yy174; + } +yy176: + yyaccept = 0; + YYMARKER = ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if(yych <= 0x0D) { + if(yych <= 0x09) { + if(yych <= 0x08) goto yy164; + goto yy174; + } else { + if(yych <= 0x0A) goto yy156; + if(yych <= 0x0C) goto yy164; + goto yy174; + } + } else { + if(yych <= ' ') { + if(yych <= 0x1F) goto yy164; + goto yy174; + } else { + if(yych == ';') goto yy174; + goto yy164; + } + } +yy177: + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if(yych == 0x0A) goto yy170; + goto yy174; } -#line 261 "scanner.re" +#line 304 "scanner.re" } @@ -812,4 +1303,19 @@ void Scanner::fatal(char *msg) const exit(1); } +void Scanner::config(const Str* cfg, int num) +{ + if (cfg->to_string() == "indent") + { + topIndent = num; + return; + } + fatal("unrecognized configuration name or illegal integer value"); +} + +void Scanner::config(const Str* cfg, const Str *value) +{ + fatal("unrecognized configuration name or illegal string value"); +} + } // end namespace re2c diff --git a/code.cc b/code.cc index cb4f9018..6be5b1ec 100644 --- a/code.cc +++ b/code.cc @@ -440,11 +440,10 @@ void Rule::emit(std::ostream &o, uint ind, bool &readCh) const o << indent(ind) << "YYCURSOR -= " << back << ";"; } - o << "\n"; - ++oline; line_source(rule->code->line, o); + o << indent(ind); o << rule->code->text; - // not sure if we need this or not. oline += std::count(rule->code->text, rule->code->text + ::strlen(rule->code->text), '\n'); + // Counting the oline's is done by SubStr::out() o << "\n"; if (!iFlag) { @@ -772,12 +771,13 @@ void State::emit(std::ostream &o, uint ind, bool &readCh) const { if (vUsedLabels.contains(label)) { - o << "yy" << label << ":"; + o << "yy" << label << ":\n"; + oline++; } if (dFlag) { - o << "\n" << indent(ind) << "YYDEBUG(" << label << ", *YYCURSOR);\n"; - oline += 2; + o << indent(ind) << "YYDEBUG(" << label << ", *YYCURSOR);\n"; + oline++; } action->emit(o, ind, readCh); } @@ -1077,11 +1077,11 @@ void DFA::findBaseState() delete [] span; } -void DFA::emit(std::ostream &o) +void DFA::emit(std::ostream &o, uint ind) { static uint label = 0; State *s; - uint i, ind = 0, bitmap_brace = 0; + uint i, bitmap_brace = 0; bool hasFillLabels = (0<=vFillIndexes); if (hasFillLabels==true && label!=0) diff --git a/dfa.h b/dfa.h index 7375e83f..0fdb9ea4 100644 --- a/dfa.h +++ b/dfa.h @@ -166,7 +166,7 @@ public: void findSCCs(); void findBaseState(); - void emit(std::ostream&); + void emit(std::ostream&, uint); friend std::ostream& operator<<(std::ostream&, const DFA&); friend std::ostream& operator<<(std::ostream&, const DFA*); diff --git a/globals.h b/globals.h index 488189c2..4cc448c5 100644 --- a/globals.h +++ b/globals.h @@ -41,6 +41,7 @@ extern bool wFlag; extern bool bUsedYYAccept; extern unsigned int oline; extern uint maxFill; +extern uint topIndent; extern uint asc2ebc[256]; extern uint ebc2asc[256]; diff --git a/main.cc b/main.cc index f459f375..df57a772 100644 --- a/main.cc +++ b/main.cc @@ -29,6 +29,7 @@ bool wFlag = false; bool bUsedYYAccept = false; unsigned int oline = 1; uint maxFill = 1; +uint topIndent = 0; uint nRealChars = 256; int vFillIndexes = -1; diff --git a/parser.y b/parser.y index 6d420a31..f379c94a 100644 --- a/parser.y +++ b/parser.y @@ -56,12 +56,15 @@ static char* strdup(const char* s) %union { re2c::Symbol *symbol; re2c::RegExp *regexp; - re2c::Token *token; - char op; - re2c::ExtOp extop; + re2c::Token *token; + char op; + int number; + re2c::ExtOp extop; + re2c::Str *str; }; %token CLOSESIZE CLOSE ID CODE RANGE STRING +%token CONFIG VALUE NUMBER %type CLOSE %type close @@ -70,6 +73,8 @@ static char* strdup(const char* s) %type CODE %type RANGE STRING %type rule look expr diff term factor primary +%type CONFIG VALUE +%type NUMBER %% @@ -85,6 +90,10 @@ decl : ID '=' expr ';' { if($1->re) in->fatal("sym already defined"); $1->re = $3; } + | CONFIG '=' VALUE ';' + { in->config($1, $3); } + | CONFIG '=' NUMBER ';' + { in->config($1, $3); } ; rule : expr look CODE @@ -217,11 +226,10 @@ void parse(std::istream& i, std::ostream &o){ yyparse(); if(spec) { - genCode(o, spec); + genCode(o, topIndent, spec); } line_source(in->line(), o); } } } // end namespace re2c - diff --git a/re.h b/re.h index 98707fba..c01e2ddd 100644 --- a/re.h +++ b/re.h @@ -291,6 +291,7 @@ public: }; extern void genCode(std::ostream&, RegExp*); +extern void genCode(std::ostream&, uint ind, RegExp*); extern RegExp *mkDiff(RegExp*, RegExp*); } // end namespace re2c diff --git a/scanner.h b/scanner.h index 25e73679..c18daa93 100644 --- a/scanner.h +++ b/scanner.h @@ -16,7 +16,7 @@ class Scanner private: std::istream& in; char *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof; - uint tchar, tline, cline; + uint tchar, tline, cline, iscfg; private: char *fill(char*); @@ -28,12 +28,15 @@ public: int echo(std::ostream&); int scan(); void fatal(char*) const; + void config(const Str*, const Str *); + void config(const Str*, int); SubStr token() const; uint line() const; uint xlat(uint c) const; uint unescape(SubStr &s) const; Range * getRange(SubStr &s) const; RegExp * matchChar(uint c) const; + RegExp * strToName(SubStr s) const; RegExp * strToRE(SubStr s) const; RegExp * strToCaseInsensitiveRE(SubStr s) const; RegExp * ranToRE(SubStr s) const; diff --git a/scanner.re b/scanner.re index 3b3bfb19..c9cbdb1f 100644 --- a/scanner.re +++ b/scanner.re @@ -28,7 +28,7 @@ namespace re2c Scanner::Scanner(std::istream& i) : in(i), bot(NULL), tok(NULL), ptr(NULL), cur(NULL), pos(NULL), lim(NULL), - top(NULL), eof(NULL), tchar(0), tline(0), cline(1) + top(NULL), eof(NULL), tchar(0), tline(0), cline(1), iscfg(0) { ; } @@ -80,6 +80,12 @@ dstring = "\"" ((esc \ ["] ) | "\\" dot)* "\""; sstring = "'" ((esc \ ['] ) | "\\" dot)* "'" ; letter = [a-zA-Z]; digit = [0-9]; +number = "0" | ("-"? [1-9] digit*); +name = letter (letter|digit)*; +space = [ \t]; +eol = ("\r\n" | "\n"); +config = "re2c:" name; +value = [^\r\n; \t]* | dstring | sstring; */ int Scanner::echo(std::ostream &out){ @@ -142,6 +148,14 @@ scan: tchar = cursor - pos; tline = cline; tok = cursor; + if (iscfg == 1) + { + goto config; + } + else if (iscfg == 2) + { + goto value; + } /*!re2c "{" { depth = 1; goto code; @@ -195,22 +209,25 @@ scan: "{" [0-9]* "," { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } - letter (letter|digit)* { cur = cursor; + name { cur = cursor; yylval.symbol = Symbol::find(token()); return ID; } + config { cur = cursor; + tok+= 5; /* skip "re2c:" */ + iscfg = 1; + yylval.str = new Str(token()); + return CONFIG; + } + "." { cur = cursor; yylval.regexp = mkDot(); return RANGE; } - [ \t]+ { goto scan; } + space+ { goto scan; } - "\r\n" { if(cursor == eof) RETURN(0); - pos = cursor; cline++; - goto scan; - } - "\n" { if(cursor == eof) RETURN(0); + eol { if(cursor == eof) RETURN(0); pos = cursor; cline++; goto scan; } @@ -248,18 +265,42 @@ code: comment: /*!re2c - "*/" { if(--depth == 0) + "*/" { if(--depth == 0) goto scan; else goto comment; } - "/*" { ++depth; - fatal("ambiguous /* found"); - goto comment; } - "\n" { if(cursor == eof) RETURN(0); + "/*" { ++depth; + fatal("ambiguous /* found"); + goto comment; } + "\n" { if(cursor == eof) RETURN(0); tok = pos = cursor; cline++; goto comment; } - any { goto comment; } + any { goto comment; } +*/ + +config: +/*!re2c + space+ { goto config; } + "=" space* { iscfg = 2; + cur = cursor; + RETURN('='); + } + any { fatal("missing '='"); } +*/ + +value: +/*!re2c + number { cur = cursor; + yylval.number = atoi(token().to_string().c_str()); + iscfg = 0; + return NUMBER; + } + value { cur = cursor; + yylval.str = new Str(token()); + iscfg = 0; + return VALUE; + } */ } @@ -270,4 +311,19 @@ void Scanner::fatal(char *msg) const exit(1); } +void Scanner::config(const Str* cfg, int num) +{ + if (cfg->to_string() == "indent") + { + topIndent = num; + return; + } + fatal("unrecognized configuration name or illegal integer value"); +} + +void Scanner::config(const Str* cfg, const Str *value) +{ + fatal("unrecognized configuration name or illegal string value"); +} + } // end namespace re2c diff --git a/substr.cc b/substr.cc index 7ecf777f..a891dcf4 100644 --- a/substr.cc +++ b/substr.cc @@ -22,12 +22,9 @@ namespace re2c void SubStr::out(std::ostream& o) const { o.write(str, len); - - for (size_t i = 0; i < (size_t)len; ++i) - { - if (str[i] == '\n') - ++oline; - } + oline += std::count(str, str + len, '\n'); + // This is only to be used in Rule::emit(), if this is going to change then + // oline counting must be done there and probably in other emit()'s, too. } bool operator==(const SubStr &s1, const SubStr &s2) @@ -54,7 +51,9 @@ Str::Str() : SubStr((char*) NULL, 0) Str::~Str() { - free((void*)str); + if (str) { + free((void*)str); + } str = (char*) - 1; len = (uint) - 1; } diff --git a/test/bug1054496.c b/test/bug1054496.c index d0a0eab8..77f78d09 100755 --- a/test/bug1054496.c +++ b/test/bug1054496.c @@ -33,7 +33,8 @@ yy0: case '<': goto yy2; default: goto yy6; } -yy2: ++YYCURSOR; +yy2: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case 'A': case 'a': goto yy7; @@ -91,17 +92,20 @@ yy2: ++YYCURSOR; } yy3: #line 25 "bug1054496.re" -{ goto cont; } -#line 94 "" -yy4: ++YYCURSOR; + { goto cont; } +#line 95 "" +yy4: + ++YYCURSOR; goto yy5; yy5: #line 24 "bug1054496.re" -{ RET(TAG_EOI); } -#line 100 "" -yy6: yych = *++YYCURSOR; + { RET(TAG_EOI); } +#line 102 "" +yy6: + yych = *++YYCURSOR; goto yy3; -yy7: ++YYCURSOR; +yy7: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case 'A': case 'B': @@ -159,13 +163,15 @@ yy7: ++YYCURSOR; } yy8: #line 22 "bug1054496.re" -{ RET(TAG_A); } -#line 161 "" -yy9: ++YYCURSOR; + { RET(TAG_A); } +#line 165 "" +yy9: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy10; -yy10: switch(yych){ +yy10: + switch(yych){ case 'A': case 'B': case 'C': @@ -222,8 +228,8 @@ yy10: switch(yych){ } yy11: #line 23 "bug1054496.re" -{ RET(TAG_TAG); } -#line 223 "" + { RET(TAG_TAG); } +#line 229 "" } #line 26 "bug1054496.re" diff --git a/test/bug1163046.c b/test/bug1163046.c index faba9e7e..bff986d7 100755 --- a/test/bug1163046.c +++ b/test/bug1163046.c @@ -30,7 +30,8 @@ yy0: case '(': goto yy2; default: goto yy4; } -yy2: yyaccept = 0; +yy2: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 'T': @@ -39,276 +40,323 @@ yy2: yyaccept = 0; } yy3: #line 23 "bug1163046.re" -{ goto next; } -#line 43 "" -yy4: yych = *++YYCURSOR; + { goto next; } +#line 44 "" +yy4: + yych = *++YYCURSOR; goto yy3; -yy5: ++YYCURSOR; +yy5: + ++YYCURSOR; goto yy6; yy6: #line 25 "bug1163046.re" -{ return false; } -#line 51 "" -yy7: yych = *++YYCURSOR; + { return false; } +#line 54 "" +yy7: + yych = *++YYCURSOR; switch(yych){ case 'H': case 'h': goto yy9; default: goto yy8; } -yy8: YYCURSOR = YYMARKER; +yy8: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy3; } -yy9: yych = *++YYCURSOR; +yy9: + yych = *++YYCURSOR; switch(yych){ case 'I': case 'i': goto yy10; default: goto yy8; } -yy10: yych = *++YYCURSOR; +yy10: + yych = *++YYCURSOR; switch(yych){ case 'S': case 's': goto yy11; default: goto yy8; } -yy11: yych = *++YYCURSOR; +yy11: + yych = *++YYCURSOR; switch(yych){ case ' ': goto yy12; default: goto yy8; } -yy12: yych = *++YYCURSOR; +yy12: + yych = *++YYCURSOR; switch(yych){ case 'F': case 'f': goto yy13; default: goto yy8; } -yy13: yych = *++YYCURSOR; +yy13: + yych = *++YYCURSOR; switch(yych){ case 'I': case 'i': goto yy14; default: goto yy8; } -yy14: yych = *++YYCURSOR; +yy14: + yych = *++YYCURSOR; switch(yych){ case 'L': case 'l': goto yy15; default: goto yy8; } -yy15: yych = *++YYCURSOR; +yy15: + yych = *++YYCURSOR; switch(yych){ case 'E': case 'e': goto yy16; default: goto yy8; } -yy16: yych = *++YYCURSOR; +yy16: + yych = *++YYCURSOR; switch(yych){ case ' ': goto yy17; default: goto yy8; } -yy17: yych = *++YYCURSOR; +yy17: + yych = *++YYCURSOR; switch(yych){ case 'M': case 'm': goto yy18; default: goto yy8; } -yy18: yych = *++YYCURSOR; +yy18: + yych = *++YYCURSOR; switch(yych){ case 'U': case 'u': goto yy19; default: goto yy8; } -yy19: yych = *++YYCURSOR; +yy19: + yych = *++YYCURSOR; switch(yych){ case 'S': case 's': goto yy20; default: goto yy8; } -yy20: yych = *++YYCURSOR; +yy20: + yych = *++YYCURSOR; switch(yych){ case 'T': case 't': goto yy21; default: goto yy8; } -yy21: yych = *++YYCURSOR; +yy21: + yych = *++YYCURSOR; switch(yych){ case ' ': goto yy22; default: goto yy8; } -yy22: yych = *++YYCURSOR; +yy22: + yych = *++YYCURSOR; switch(yych){ case 'B': case 'b': goto yy23; default: goto yy8; } -yy23: yych = *++YYCURSOR; +yy23: + yych = *++YYCURSOR; switch(yych){ case 'E': case 'e': goto yy24; default: goto yy8; } -yy24: yych = *++YYCURSOR; +yy24: + yych = *++YYCURSOR; switch(yych){ case ' ': goto yy25; default: goto yy8; } -yy25: yych = *++YYCURSOR; +yy25: + yych = *++YYCURSOR; switch(yych){ case 'C': case 'c': goto yy26; default: goto yy8; } -yy26: yych = *++YYCURSOR; +yy26: + yych = *++YYCURSOR; switch(yych){ case 'O': case 'o': goto yy27; default: goto yy8; } -yy27: yych = *++YYCURSOR; +yy27: + yych = *++YYCURSOR; switch(yych){ case 'N': case 'n': goto yy28; default: goto yy8; } -yy28: yych = *++YYCURSOR; +yy28: + yych = *++YYCURSOR; switch(yych){ case 'V': case 'v': goto yy29; default: goto yy8; } -yy29: yych = *++YYCURSOR; +yy29: + yych = *++YYCURSOR; switch(yych){ case 'E': case 'e': goto yy30; default: goto yy8; } -yy30: yych = *++YYCURSOR; +yy30: + yych = *++YYCURSOR; switch(yych){ case 'R': case 'r': goto yy31; default: goto yy8; } -yy31: yych = *++YYCURSOR; +yy31: + yych = *++YYCURSOR; switch(yych){ case 'T': case 't': goto yy32; default: goto yy8; } -yy32: yych = *++YYCURSOR; +yy32: + yych = *++YYCURSOR; switch(yych){ case 'E': case 'e': goto yy33; default: goto yy8; } -yy33: yych = *++YYCURSOR; +yy33: + yych = *++YYCURSOR; switch(yych){ case 'D': case 'd': goto yy34; default: goto yy8; } -yy34: yych = *++YYCURSOR; +yy34: + yych = *++YYCURSOR; switch(yych){ case ' ': goto yy35; default: goto yy8; } -yy35: yych = *++YYCURSOR; +yy35: + yych = *++YYCURSOR; switch(yych){ case 'W': case 'w': goto yy36; default: goto yy8; } -yy36: yych = *++YYCURSOR; +yy36: + yych = *++YYCURSOR; switch(yych){ case 'I': case 'i': goto yy37; default: goto yy8; } -yy37: yych = *++YYCURSOR; +yy37: + yych = *++YYCURSOR; switch(yych){ case 'T': case 't': goto yy38; default: goto yy8; } -yy38: yych = *++YYCURSOR; +yy38: + yych = *++YYCURSOR; switch(yych){ case 'H': case 'h': goto yy39; default: goto yy8; } -yy39: yych = *++YYCURSOR; +yy39: + yych = *++YYCURSOR; switch(yych){ case ' ': goto yy40; default: goto yy8; } -yy40: yych = *++YYCURSOR; +yy40: + yych = *++YYCURSOR; switch(yych){ case 'B': case 'b': goto yy41; default: goto yy8; } -yy41: yych = *++YYCURSOR; +yy41: + yych = *++YYCURSOR; switch(yych){ case 'I': case 'i': goto yy42; default: goto yy8; } -yy42: yych = *++YYCURSOR; +yy42: + yych = *++YYCURSOR; switch(yych){ case 'N': case 'n': goto yy43; default: goto yy8; } -yy43: yych = *++YYCURSOR; +yy43: + yych = *++YYCURSOR; switch(yych){ case 'H': case 'h': goto yy44; default: goto yy8; } -yy44: yych = *++YYCURSOR; +yy44: + yych = *++YYCURSOR; switch(yych){ case 'E': case 'e': goto yy45; default: goto yy8; } -yy45: yych = *++YYCURSOR; +yy45: + yych = *++YYCURSOR; switch(yych){ case 'X': case 'x': goto yy46; default: goto yy8; } -yy46: yych = *++YYCURSOR; +yy46: + yych = *++YYCURSOR; switch(yych){ case ' ': goto yy47; default: goto yy8; } -yy47: yych = *++YYCURSOR; +yy47: + yych = *++YYCURSOR; switch(yych){ case '4': goto yy48; default: goto yy8; } -yy48: yych = *++YYCURSOR; +yy48: + yych = *++YYCURSOR; switch(yych){ case '.': goto yy49; default: goto yy8; } -yy49: yych = *++YYCURSOR; +yy49: + yych = *++YYCURSOR; switch(yych){ case '0': goto yy50; default: goto yy8; } -yy50: yych = *++YYCURSOR; +yy50: + yych = *++YYCURSOR; switch(yych){ case ')': goto yy51; default: goto yy8; } -yy51: ++YYCURSOR; +yy51: + ++YYCURSOR; goto yy52; yy52: #line 18 "bug1163046.re" -{ + { if (token == start || *(token - 1) == '\n') return true; else goto next; } -#line 279 "" +#line 327 "" } #line 26 "bug1163046.re" diff --git a/test/bug1187785.c b/test/bug1187785.c index 913f0b8c..e5292112 100755 --- a/test/bug1187785.c +++ b/test/bug1187785.c @@ -33,7 +33,8 @@ yy0: case '"': goto yy2; default: goto yy4; } -yy2: yyaccept = 0; +yy2: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x00: @@ -294,15 +295,18 @@ yy2: yyaccept = 0; } yy3: #line 23 "bug1187785.re" -{ goto cont; } -#line 298 "" -yy4: yych = *++YYCURSOR; + { goto cont; } +#line 299 "" +yy4: + yych = *++YYCURSOR; goto yy3; -yy5: ++YYCURSOR; +yy5: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy6; -yy6: switch(yych){ +yy6: + switch(yych){ case 0x00: case 0x01: case 0x02: @@ -560,16 +564,18 @@ yy6: switch(yych){ case '"': goto yy8; default: goto yy7; } -yy7: YYCURSOR = YYMARKER; +yy7: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy3; } -yy8: ++YYCURSOR; +yy8: + ++YYCURSOR; goto yy9; yy9: #line 22 "bug1187785.re" -{ RET(1); } -#line 571 "" + { RET(1); } +#line 577 "" } #line 24 "bug1187785.re" diff --git a/test/bug1297658.c b/test/bug1297658.c index a8627f00..146837ab 100644 --- a/test/bug1297658.c +++ b/test/bug1297658.c @@ -72,7 +72,8 @@ yy0: case '0': goto yy2; default: goto yy8; } -yy2: yyaccept = 0; +yy2: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case '.': goto yy11; @@ -81,11 +82,12 @@ yy2: yyaccept = 0; } yy3: #line 74 "bug1297658.re" -{ + { RET(UNEXPECTED); } -#line 88 "" -yy4: ++YYCURSOR; +#line 89 "" +yy4: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case 'L': goto yy10; case 'e': goto yy9; @@ -93,49 +95,58 @@ yy4: ++YYCURSOR; } yy5: #line 61 "bug1297658.re" -{ + { RET(FCON); } -#line 100 "" -yy6: ++YYCURSOR; +#line 102 "" +yy6: + ++YYCURSOR; goto yy7; yy7: #line 66 "bug1297658.re" -{ + { s.line++; if(1||s.cur == s.eof) RET(EOI); goto std; } -#line 110 "" -yy8: yych = *++YYCURSOR; +#line 113 "" +yy8: + yych = *++YYCURSOR; goto yy3; -yy9: yych = *++YYCURSOR; +yy9: + yych = *++YYCURSOR; switch(yych){ case 'L': goto yy10; default: goto yy5; } -yy10: yych = *++YYCURSOR; +yy10: + yych = *++YYCURSOR; goto yy5; -yy11: yych = *++YYCURSOR; +yy11: + yych = *++YYCURSOR; switch(yych){ case 'L': goto yy10; case 'e': goto yy15; default: goto yy5; } -yy12: ++YYCURSOR; +yy12: + ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; goto yy13; -yy13: switch(yych){ +yy13: + switch(yych){ case '.': goto yy11; case '0': goto yy12; default: goto yy14; } -yy14: YYCURSOR = YYMARKER; +yy14: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy3; } -yy15: ++YYCURSOR; +yy15: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case 'L': goto yy10; default: goto yy5; diff --git a/test/bug1390174.c b/test/bug1390174.c index b58df133..e99f5a03 100755 --- a/test/bug1390174.c +++ b/test/bug1390174.c @@ -30,7 +30,8 @@ yy0: case 'a': goto yy2; default: goto yy6; } -yy2: yyaccept = 0; +yy2: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy7; @@ -40,29 +41,35 @@ yy2: yyaccept = 0; } yy3: #line 19 "bug1390174.re" -{RET(0);} -#line 43 "" -yy4: ++YYCURSOR; + {RET(0);} +#line 44 "" +yy4: + ++YYCURSOR; goto yy5; yy5: #line 18 "bug1390174.re" -{RET(1);} -#line 49 "" -yy6: yych = *++YYCURSOR; + {RET(1);} +#line 51 "" +yy6: + yych = *++YYCURSOR; goto yy3; -yy7: yych = *++YYCURSOR; +yy7: + yych = *++YYCURSOR; goto yy5; -yy8: ++YYCURSOR; +yy8: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy9; -yy9: switch(yych){ +yy9: + switch(yych){ case 0x0A: goto yy7; case 'A': case 'a': goto yy8; default: goto yy10; } -yy10: YYCURSOR = YYMARKER; +yy10: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy3; } diff --git a/test/c.c b/test/c.c index f8c93ed3..6e710159 100644 --- a/test/c.c +++ b/test/c.c @@ -232,7 +232,8 @@ yy0: case '~': goto yy69; default: goto yy77; } -yy2: ++YYCURSOR; +yy2: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '*': goto yy341; case '=': goto yy339; @@ -240,70 +241,81 @@ yy2: ++YYCURSOR; } yy3: #line 222 "c.re" -{ RET('/'); } -#line 238 "" -yy4: ++YYCURSOR; + { RET('/'); } +#line 239 "" +yy4: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case 'u': goto yy335; default: goto yy180; } yy5: #line 171 "c.re" -{ RET(ID); } -#line 247 "" -yy6: yych = *++YYCURSOR; + { RET(ID); } +#line 249 "" +yy6: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy330; default: goto yy180; } -yy7: yych = *++YYCURSOR; +yy7: + yych = *++YYCURSOR; switch(yych){ case 'a': goto yy311; case 'h': goto yy312; case 'o': goto yy313; default: goto yy180; } -yy8: yych = *++YYCURSOR; +yy8: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy297; case 'o': goto yy298; default: goto yy180; } -yy9: yych = *++YYCURSOR; +yy9: + yych = *++YYCURSOR; switch(yych){ case 'l': goto yy283; case 'n': goto yy284; case 'x': goto yy285; default: goto yy180; } -yy10: yych = *++YYCURSOR; +yy10: + yych = *++YYCURSOR; switch(yych){ case 'l': goto yy275; case 'o': goto yy276; default: goto yy180; } -yy11: yych = *++YYCURSOR; +yy11: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy271; default: goto yy180; } -yy12: yych = *++YYCURSOR; +yy12: + yych = *++YYCURSOR; switch(yych){ case 'f': goto yy266; case 'n': goto yy268; default: goto yy180; } -yy13: yych = *++YYCURSOR; +yy13: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy262; default: goto yy180; } -yy14: yych = *++YYCURSOR; +yy14: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy249; default: goto yy180; } -yy15: yych = *++YYCURSOR; +yy15: + yych = *++YYCURSOR; switch(yych){ case 'h': goto yy216; case 'i': goto yy217; @@ -311,29 +323,35 @@ yy15: yych = *++YYCURSOR; case 'w': goto yy219; default: goto yy180; } -yy16: yych = *++YYCURSOR; +yy16: + yych = *++YYCURSOR; switch(yych){ case 'y': goto yy209; default: goto yy180; } -yy17: yych = *++YYCURSOR; +yy17: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy197; default: goto yy180; } -yy18: yych = *++YYCURSOR; +yy18: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy186; default: goto yy180; } -yy19: yych = *++YYCURSOR; +yy19: + yych = *++YYCURSOR; switch(yych){ case 'h': goto yy181; default: goto yy180; } -yy20: yych = *++YYCURSOR; +yy20: + yych = *++YYCURSOR; goto yy180; -yy21: yyaccept = 0; +yy21: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 'L': @@ -346,12 +364,14 @@ yy21: yyaccept = 0; } yy22: #line 175 "c.re" -{ RET(ICON); } -#line 340 "" -yy23: yyaccept = 0; + { RET(ICON); } +#line 358 "" +yy23: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy153; -yy24: yyaccept = 1; +yy24: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy25; @@ -359,12 +379,13 @@ yy24: yyaccept = 1; } yy25: #line 241 "c.re" -{ + { printf("unexpected character: %c\n", *s->tok); goto std; } -#line 356 "" -yy26: yyaccept = 2; +#line 376 "" +yy26: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case '.': goto yy131; @@ -382,15 +403,17 @@ yy26: yyaccept = 2; } yy27: #line 215 "c.re" -{ RET('.'); } -#line 376 "" -yy28: yyaccept = 1; + { RET('.'); } +#line 397 "" +yy28: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy25; default: goto yy121; } -yy29: ++YYCURSOR; +yy29: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy114; case '>': goto yy116; @@ -398,9 +421,10 @@ yy29: ++YYCURSOR; } yy30: #line 225 "c.re" -{ RET('>'); } -#line 392 "" -yy31: ++YYCURSOR; + { RET('>'); } +#line 415 "" +yy31: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '<': goto yy110; case '=': goto yy108; @@ -408,9 +432,10 @@ yy31: ++YYCURSOR; } yy32: #line 224 "c.re" -{ RET('<'); } -#line 402 "" -yy33: ++YYCURSOR; + { RET('<'); } +#line 426 "" +yy33: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '+': goto yy104; case '=': goto yy106; @@ -418,9 +443,10 @@ yy33: ++YYCURSOR; } yy34: #line 220 "c.re" -{ RET('+'); } -#line 412 "" -yy35: ++YYCURSOR; + { RET('+'); } +#line 437 "" +yy35: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '-': goto yy100; case '=': goto yy102; @@ -429,27 +455,30 @@ yy35: ++YYCURSOR; } yy36: #line 219 "c.re" -{ RET('-'); } -#line 423 "" -yy37: ++YYCURSOR; + { RET('-'); } +#line 449 "" +yy37: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy96; default: goto yy38; } yy38: #line 221 "c.re" -{ RET('*'); } -#line 432 "" -yy39: ++YYCURSOR; + { RET('*'); } +#line 459 "" +yy39: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy94; default: goto yy40; } yy40: #line 223 "c.re" -{ RET('%'); } -#line 441 "" -yy41: ++YYCURSOR; + { RET('%'); } +#line 469 "" +yy41: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '&': goto yy90; case '=': goto yy92; @@ -457,18 +486,20 @@ yy41: ++YYCURSOR; } yy42: #line 216 "c.re" -{ RET('&'); } -#line 451 "" -yy43: ++YYCURSOR; + { RET('&'); } +#line 480 "" +yy43: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy88; default: goto yy44; } yy44: #line 226 "c.re" -{ RET('^'); } -#line 460 "" -yy45: ++YYCURSOR; + { RET('^'); } +#line 490 "" +yy45: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy86; case '|': goto yy84; @@ -476,266 +507,308 @@ yy45: ++YYCURSOR; } yy46: #line 227 "c.re" -{ RET('|'); } -#line 470 "" -yy47: ++YYCURSOR; + { RET('|'); } +#line 501 "" +yy47: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy82; default: goto yy48; } yy48: #line 210 "c.re" -{ RET('='); } -#line 479 "" -yy49: ++YYCURSOR; + { RET('='); } +#line 511 "" +yy49: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy80; default: goto yy50; } yy50: #line 217 "c.re" -{ RET('!'); } -#line 488 "" -yy51: ++YYCURSOR; + { RET('!'); } +#line 521 "" +yy51: + ++YYCURSOR; goto yy52; yy52: #line 205 "c.re" -{ RET(';'); } -#line 494 "" -yy53: ++YYCURSOR; + { RET(';'); } +#line 528 "" +yy53: + ++YYCURSOR; goto yy54; yy54: #line 206 "c.re" -{ RET('{'); } -#line 500 "" -yy55: ++YYCURSOR; + { RET('{'); } +#line 535 "" +yy55: + ++YYCURSOR; goto yy56; yy56: #line 207 "c.re" -{ RET('}'); } -#line 506 "" -yy57: ++YYCURSOR; + { RET('}'); } +#line 542 "" +yy57: + ++YYCURSOR; goto yy58; yy58: #line 208 "c.re" -{ RET(','); } -#line 512 "" -yy59: ++YYCURSOR; + { RET(','); } +#line 549 "" +yy59: + ++YYCURSOR; goto yy60; yy60: #line 209 "c.re" -{ RET(':'); } -#line 518 "" -yy61: ++YYCURSOR; + { RET(':'); } +#line 556 "" +yy61: + ++YYCURSOR; goto yy62; yy62: #line 211 "c.re" -{ RET('('); } -#line 524 "" -yy63: ++YYCURSOR; + { RET('('); } +#line 563 "" +yy63: + ++YYCURSOR; goto yy64; yy64: #line 212 "c.re" -{ RET(')'); } -#line 530 "" -yy65: ++YYCURSOR; + { RET(')'); } +#line 570 "" +yy65: + ++YYCURSOR; goto yy66; yy66: #line 213 "c.re" -{ RET('['); } -#line 536 "" -yy67: ++YYCURSOR; + { RET('['); } +#line 577 "" +yy67: + ++YYCURSOR; goto yy68; yy68: #line 214 "c.re" -{ RET(']'); } -#line 542 "" -yy69: ++YYCURSOR; + { RET(']'); } +#line 584 "" +yy69: + ++YYCURSOR; goto yy70; yy70: #line 218 "c.re" -{ RET('~'); } -#line 548 "" -yy71: ++YYCURSOR; + { RET('~'); } +#line 591 "" +yy71: + ++YYCURSOR; goto yy72; yy72: #line 228 "c.re" -{ RET('?'); } -#line 554 "" -yy73: ++YYCURSOR; + { RET('?'); } +#line 598 "" +yy73: + ++YYCURSOR; yych = *YYCURSOR; goto yy79; yy74: #line 231 "c.re" -{ goto std; } -#line 561 "" -yy75: ++YYCURSOR; + { goto std; } +#line 606 "" +yy75: + ++YYCURSOR; goto yy76; yy76: #line 234 "c.re" -{ + { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } -#line 571 "" -yy77: yych = *++YYCURSOR; +#line 617 "" +yy77: + yych = *++YYCURSOR; goto yy25; -yy78: ++YYCURSOR; +yy78: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy79; -yy79: switch(yych){ +yy79: + switch(yych){ case 0x09: case 0x0B: case 0x0C: case ' ': goto yy78; default: goto yy74; } -yy80: ++YYCURSOR; +yy80: + ++YYCURSOR; goto yy81; yy81: #line 204 "c.re" -{ RET(NEQ); } -#line 588 "" -yy82: ++YYCURSOR; + { RET(NEQ); } +#line 638 "" +yy82: + ++YYCURSOR; goto yy83; yy83: #line 203 "c.re" -{ RET(EQL); } -#line 594 "" -yy84: ++YYCURSOR; + { RET(EQL); } +#line 645 "" +yy84: + ++YYCURSOR; goto yy85; yy85: #line 200 "c.re" -{ RET(OROR); } -#line 600 "" -yy86: ++YYCURSOR; + { RET(OROR); } +#line 652 "" +yy86: + ++YYCURSOR; goto yy87; yy87: #line 193 "c.re" -{ RET(OREQ); } -#line 606 "" -yy88: ++YYCURSOR; + { RET(OREQ); } +#line 659 "" +yy88: + ++YYCURSOR; goto yy89; yy89: #line 192 "c.re" -{ RET(XOREQ); } -#line 612 "" -yy90: ++YYCURSOR; + { RET(XOREQ); } +#line 666 "" +yy90: + ++YYCURSOR; goto yy91; yy91: #line 199 "c.re" -{ RET(ANDAND); } -#line 618 "" -yy92: ++YYCURSOR; + { RET(ANDAND); } +#line 673 "" +yy92: + ++YYCURSOR; goto yy93; yy93: #line 191 "c.re" -{ RET(ANDEQ); } -#line 624 "" -yy94: ++YYCURSOR; + { RET(ANDEQ); } +#line 680 "" +yy94: + ++YYCURSOR; goto yy95; yy95: #line 190 "c.re" -{ RET(MODEQ); } -#line 630 "" -yy96: ++YYCURSOR; + { RET(MODEQ); } +#line 687 "" +yy96: + ++YYCURSOR; goto yy97; yy97: #line 188 "c.re" -{ RET(MULEQ); } -#line 636 "" -yy98: ++YYCURSOR; + { RET(MULEQ); } +#line 694 "" +yy98: + ++YYCURSOR; goto yy99; yy99: #line 198 "c.re" -{ RET(DEREF); } -#line 642 "" -yy100: ++YYCURSOR; + { RET(DEREF); } +#line 701 "" +yy100: + ++YYCURSOR; goto yy101; yy101: #line 197 "c.re" -{ RET(DECR); } -#line 648 "" -yy102: ++YYCURSOR; + { RET(DECR); } +#line 708 "" +yy102: + ++YYCURSOR; goto yy103; yy103: #line 187 "c.re" -{ RET(SUBEQ); } -#line 654 "" -yy104: ++YYCURSOR; + { RET(SUBEQ); } +#line 715 "" +yy104: + ++YYCURSOR; goto yy105; yy105: #line 196 "c.re" -{ RET(INCR); } -#line 660 "" -yy106: ++YYCURSOR; + { RET(INCR); } +#line 722 "" +yy106: + ++YYCURSOR; goto yy107; yy107: #line 186 "c.re" -{ RET(ADDEQ); } -#line 666 "" -yy108: ++YYCURSOR; + { RET(ADDEQ); } +#line 729 "" +yy108: + ++YYCURSOR; goto yy109; yy109: #line 201 "c.re" -{ RET(LEQ); } -#line 672 "" -yy110: ++YYCURSOR; + { RET(LEQ); } +#line 736 "" +yy110: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy112; default: goto yy111; } yy111: #line 195 "c.re" -{ RET(LSHIFT); } -#line 681 "" -yy112: ++YYCURSOR; + { RET(LSHIFT); } +#line 746 "" +yy112: + ++YYCURSOR; goto yy113; yy113: #line 185 "c.re" -{ RET(LSHIFTEQ); } -#line 687 "" -yy114: ++YYCURSOR; + { RET(LSHIFTEQ); } +#line 753 "" +yy114: + ++YYCURSOR; goto yy115; yy115: #line 202 "c.re" -{ RET(GEQ); } -#line 693 "" -yy116: ++YYCURSOR; + { RET(GEQ); } +#line 760 "" +yy116: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy118; default: goto yy117; } yy117: #line 194 "c.re" -{ RET(RSHIFT); } -#line 702 "" -yy118: ++YYCURSOR; + { RET(RSHIFT); } +#line 770 "" +yy118: + ++YYCURSOR; goto yy119; yy119: #line 184 "c.re" -{ RET(RSHIFTEQ); } -#line 708 "" -yy120: ++YYCURSOR; + { RET(RSHIFTEQ); } +#line 777 "" +yy120: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy121; -yy121: switch(yych){ +yy121: + switch(yych){ case 0x0A: goto yy122; case '"': goto yy124; case '\\': goto yy123; default: goto yy120; } -yy122: YYCURSOR = YYMARKER; +yy122: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy22; case 3: goto yy134; case 2: goto yy27; case 1: goto yy25; } -yy123: ++YYCURSOR; +yy123: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -761,13 +834,15 @@ yy123: ++YYCURSOR; case 'x': goto yy126; default: goto yy122; } -yy124: ++YYCURSOR; +yy124: + ++YYCURSOR; goto yy125; yy125: #line 181 "c.re" -{ RET(SCON); } -#line 748 "" -yy126: ++YYCURSOR; + { RET(SCON); } +#line 822 "" +yy126: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -795,11 +870,13 @@ yy126: ++YYCURSOR; case 'f': goto yy129; default: goto yy122; } -yy127: ++YYCURSOR; +yy127: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy128; -yy128: switch(yych){ +yy128: + switch(yych){ case 0x0A: goto yy122; case '"': goto yy124; case '0': @@ -813,11 +890,13 @@ yy128: switch(yych){ case '\\': goto yy123; default: goto yy120; } -yy129: ++YYCURSOR; +yy129: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy130; -yy130: switch(yych){ +yy130: + switch(yych){ case 0x0A: goto yy122; case '"': goto yy124; case '0': @@ -845,17 +924,20 @@ yy130: switch(yych){ case '\\': goto yy123; default: goto yy120; } -yy131: yych = *++YYCURSOR; +yy131: + yych = *++YYCURSOR; switch(yych){ case '.': goto yy140; default: goto yy122; } -yy132: yyaccept = 3; +yy132: + yyaccept = 3; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; goto yy133; -yy133: switch(yych){ +yy133: + switch(yych){ case '0': case '1': case '2': @@ -876,9 +958,10 @@ yy133: switch(yych){ } yy134: #line 178 "c.re" -{ RET(FCON); } -#line 851 "" -yy135: yych = *++YYCURSOR; + { RET(FCON); } +#line 933 "" +yy135: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy137; @@ -894,9 +977,11 @@ yy135: yych = *++YYCURSOR; case '9': goto yy138; default: goto yy122; } -yy136: yych = *++YYCURSOR; +yy136: + yych = *++YYCURSOR; goto yy134; -yy137: yych = *++YYCURSOR; +yy137: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -910,11 +995,13 @@ yy137: yych = *++YYCURSOR; case '9': goto yy138; default: goto yy122; } -yy138: ++YYCURSOR; +yy138: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy139; -yy139: switch(yych){ +yy139: + switch(yych){ case '0': case '1': case '2': @@ -931,23 +1018,27 @@ yy139: switch(yych){ case 'l': goto yy136; default: goto yy134; } -yy140: ++YYCURSOR; +yy140: + ++YYCURSOR; goto yy141; yy141: #line 183 "c.re" -{ RET(ELLIPSIS); } -#line 906 "" -yy142: ++YYCURSOR; + { RET(ELLIPSIS); } +#line 994 "" +yy142: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy143; -yy143: switch(yych){ +yy143: + switch(yych){ case 0x0A: goto yy122; case '\'': goto yy145; case '\\': goto yy144; default: goto yy142; } -yy144: ++YYCURSOR; +yy144: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -973,9 +1064,11 @@ yy144: ++YYCURSOR; case 'x': goto yy146; default: goto yy122; } -yy145: yych = *++YYCURSOR; +yy145: + yych = *++YYCURSOR; goto yy22; -yy146: ++YYCURSOR; +yy146: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -1003,11 +1096,13 @@ yy146: ++YYCURSOR; case 'f': goto yy149; default: goto yy122; } -yy147: ++YYCURSOR; +yy147: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy148; -yy148: switch(yych){ +yy148: + switch(yych){ case 0x0A: goto yy122; case '\'': goto yy145; case '0': @@ -1021,11 +1116,13 @@ yy148: switch(yych){ case '\\': goto yy144; default: goto yy142; } -yy149: ++YYCURSOR; +yy149: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy150; -yy150: switch(yych){ +yy150: + switch(yych){ case 0x0A: goto yy122; case '\'': goto yy145; case '0': @@ -1053,19 +1150,22 @@ yy150: switch(yych){ case '\\': goto yy144; default: goto yy142; } -yy151: yyaccept = 3; +yy151: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 'E': case 'e': goto yy162; default: goto yy161; } -yy152: yyaccept = 0; +yy152: + yyaccept = 0; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; goto yy153; -yy153: switch(yych){ +yy153: + switch(yych){ case '.': goto yy151; case '0': case '1': @@ -1085,7 +1185,8 @@ yy153: switch(yych){ case 'u': goto yy155; default: goto yy22; } -yy154: yych = *++YYCURSOR; +yy154: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy157; @@ -1101,18 +1202,21 @@ yy154: yych = *++YYCURSOR; case '9': goto yy158; default: goto yy122; } -yy155: ++YYCURSOR; +yy155: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy156; -yy156: switch(yych){ +yy156: + switch(yych){ case 'L': case 'U': case 'l': case 'u': goto yy155; default: goto yy22; } -yy157: yych = *++YYCURSOR; +yy157: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -1126,11 +1230,13 @@ yy157: yych = *++YYCURSOR; case '9': goto yy158; default: goto yy122; } -yy158: ++YYCURSOR; +yy158: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy159; -yy159: switch(yych){ +yy159: + switch(yych){ case '0': case '1': case '2': @@ -1147,12 +1253,14 @@ yy159: switch(yych){ case 'l': goto yy136; default: goto yy134; } -yy160: yyaccept = 3; +yy160: + yyaccept = 3; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; goto yy161; -yy161: switch(yych){ +yy161: + switch(yych){ case '0': case '1': case '2': @@ -1171,7 +1279,8 @@ yy161: switch(yych){ case 'l': goto yy136; default: goto yy134; } -yy162: yych = *++YYCURSOR; +yy162: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy163; @@ -1187,7 +1296,8 @@ yy162: yych = *++YYCURSOR; case '9': goto yy164; default: goto yy122; } -yy163: yych = *++YYCURSOR; +yy163: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -1201,11 +1311,13 @@ yy163: yych = *++YYCURSOR; case '9': goto yy164; default: goto yy122; } -yy164: ++YYCURSOR; +yy164: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy165; -yy165: switch(yych){ +yy165: + switch(yych){ case '0': case '1': case '2': @@ -1222,7 +1334,8 @@ yy165: switch(yych){ case 'l': goto yy136; default: goto yy134; } -yy166: yych = *++YYCURSOR; +yy166: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy167; @@ -1238,7 +1351,8 @@ yy166: yych = *++YYCURSOR; case '9': goto yy168; default: goto yy122; } -yy167: yych = *++YYCURSOR; +yy167: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -1252,11 +1366,13 @@ yy167: yych = *++YYCURSOR; case '9': goto yy168; default: goto yy122; } -yy168: ++YYCURSOR; +yy168: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy169; -yy169: switch(yych){ +yy169: + switch(yych){ case '0': case '1': case '2': @@ -1273,12 +1389,14 @@ yy169: switch(yych){ case 'l': goto yy136; default: goto yy134; } -yy170: yyaccept = 0; +yy170: + yyaccept = 0; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; goto yy171; -yy171: switch(yych){ +yy171: + switch(yych){ case '.': goto yy151; case '0': case '1': @@ -1298,7 +1416,8 @@ yy171: switch(yych){ case 'u': goto yy177; default: goto yy22; } -yy172: yych = *++YYCURSOR; +yy172: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -1324,11 +1443,13 @@ yy172: yych = *++YYCURSOR; case 'f': goto yy173; default: goto yy122; } -yy173: ++YYCURSOR; +yy173: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy174; -yy174: switch(yych){ +yy174: + switch(yych){ case '0': case '1': case '2': @@ -1357,33 +1478,39 @@ yy174: switch(yych){ case 'u': goto yy175; default: goto yy22; } -yy175: ++YYCURSOR; +yy175: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy176; -yy176: switch(yych){ +yy176: + switch(yych){ case 'L': case 'U': case 'l': case 'u': goto yy175; default: goto yy22; } -yy177: ++YYCURSOR; +yy177: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy178; -yy178: switch(yych){ +yy178: + switch(yych){ case 'L': case 'U': case 'l': case 'u': goto yy177; default: goto yy22; } -yy179: ++YYCURSOR; +yy179: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy180; -yy180: switch(yych){ +yy180: + switch(yych){ case '0': case '1': case '2': @@ -1449,22 +1576,26 @@ yy180: switch(yych){ case 'z': goto yy179; default: goto yy5; } -yy181: yych = *++YYCURSOR; +yy181: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy182; default: goto yy180; } -yy182: yych = *++YYCURSOR; +yy182: + yych = *++YYCURSOR; switch(yych){ case 'l': goto yy183; default: goto yy180; } -yy183: yych = *++YYCURSOR; +yy183: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy184; default: goto yy180; } -yy184: ++YYCURSOR; +yy184: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1533,45 +1664,53 @@ yy184: ++YYCURSOR; } yy185: #line 169 "c.re" -{ RET(WHILE); } -#line 1444 "" -yy186: yych = *++YYCURSOR; + { RET(WHILE); } +#line 1575 "" +yy186: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy187; case 'l': goto yy188; default: goto yy180; } -yy187: yych = *++YYCURSOR; +yy187: + yych = *++YYCURSOR; switch(yych){ case 'd': goto yy195; default: goto yy180; } -yy188: yych = *++YYCURSOR; +yy188: + yych = *++YYCURSOR; switch(yych){ case 'a': goto yy189; default: goto yy180; } -yy189: yych = *++YYCURSOR; +yy189: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy190; default: goto yy180; } -yy190: yych = *++YYCURSOR; +yy190: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy191; default: goto yy180; } -yy191: yych = *++YYCURSOR; +yy191: + yych = *++YYCURSOR; switch(yych){ case 'l': goto yy192; default: goto yy180; } -yy192: yych = *++YYCURSOR; +yy192: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy193; default: goto yy180; } -yy193: ++YYCURSOR; +yy193: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1640,9 +1779,10 @@ yy193: ++YYCURSOR; } yy194: #line 168 "c.re" -{ RET(VOLATILE); } -#line 1548 "" -yy195: ++YYCURSOR; + { RET(VOLATILE); } +#line 1687 "" +yy195: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1711,45 +1851,53 @@ yy195: ++YYCURSOR; } yy196: #line 167 "c.re" -{ RET(VOID); } -#line 1616 "" -yy197: yych = *++YYCURSOR; + { RET(VOID); } +#line 1756 "" +yy197: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy198; case 's': goto yy199; default: goto yy180; } -yy198: yych = *++YYCURSOR; +yy198: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy206; default: goto yy180; } -yy199: yych = *++YYCURSOR; +yy199: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy200; default: goto yy180; } -yy200: yych = *++YYCURSOR; +yy200: + yych = *++YYCURSOR; switch(yych){ case 'g': goto yy201; default: goto yy180; } -yy201: yych = *++YYCURSOR; +yy201: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy202; default: goto yy180; } -yy202: yych = *++YYCURSOR; +yy202: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy203; default: goto yy180; } -yy203: yych = *++YYCURSOR; +yy203: + yych = *++YYCURSOR; switch(yych){ case 'd': goto yy204; default: goto yy180; } -yy204: ++YYCURSOR; +yy204: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1818,14 +1966,16 @@ yy204: ++YYCURSOR; } yy205: #line 166 "c.re" -{ RET(UNSIGNED); } -#line 1720 "" -yy206: yych = *++YYCURSOR; + { RET(UNSIGNED); } +#line 1868 "" +yy206: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy207; default: goto yy180; } -yy207: ++YYCURSOR; +yy207: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1894,34 +2044,40 @@ yy207: ++YYCURSOR; } yy208: #line 165 "c.re" -{ RET(UNION); } -#line 1793 "" -yy209: yych = *++YYCURSOR; + { RET(UNION); } +#line 1943 "" +yy209: + yych = *++YYCURSOR; switch(yych){ case 'p': goto yy210; default: goto yy180; } -yy210: yych = *++YYCURSOR; +yy210: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy211; default: goto yy180; } -yy211: yych = *++YYCURSOR; +yy211: + yych = *++YYCURSOR; switch(yych){ case 'd': goto yy212; default: goto yy180; } -yy212: yych = *++YYCURSOR; +yy212: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy213; default: goto yy180; } -yy213: yych = *++YYCURSOR; +yy213: + yych = *++YYCURSOR; switch(yych){ case 'f': goto yy214; default: goto yy180; } -yy214: ++YYCURSOR; +yy214: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1990,46 +2146,54 @@ yy214: ++YYCURSOR; } yy215: #line 164 "c.re" -{ RET(TYPEDEF); } -#line 1886 "" -yy216: yych = *++YYCURSOR; + { RET(TYPEDEF); } +#line 2042 "" +yy216: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy245; default: goto yy180; } -yy217: yych = *++YYCURSOR; +yy217: + yych = *++YYCURSOR; switch(yych){ case 'g': goto yy235; case 'z': goto yy236; default: goto yy180; } -yy218: yych = *++YYCURSOR; +yy218: + yych = *++YYCURSOR; switch(yych){ case 'a': goto yy225; case 'r': goto yy226; default: goto yy180; } -yy219: yych = *++YYCURSOR; +yy219: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy220; default: goto yy180; } -yy220: yych = *++YYCURSOR; +yy220: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy221; default: goto yy180; } -yy221: yych = *++YYCURSOR; +yy221: + yych = *++YYCURSOR; switch(yych){ case 'c': goto yy222; default: goto yy180; } -yy222: yych = *++YYCURSOR; +yy222: + yych = *++YYCURSOR; switch(yych){ case 'h': goto yy223; default: goto yy180; } -yy223: ++YYCURSOR; +yy223: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2098,29 +2262,34 @@ yy223: ++YYCURSOR; } yy224: #line 163 "c.re" -{ RET(SWITCH); } -#line 1991 "" -yy225: yych = *++YYCURSOR; + { RET(SWITCH); } +#line 2155 "" +yy225: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy231; default: goto yy180; } -yy226: yych = *++YYCURSOR; +yy226: + yych = *++YYCURSOR; switch(yych){ case 'u': goto yy227; default: goto yy180; } -yy227: yych = *++YYCURSOR; +yy227: + yych = *++YYCURSOR; switch(yych){ case 'c': goto yy228; default: goto yy180; } -yy228: yych = *++YYCURSOR; +yy228: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy229; default: goto yy180; } -yy229: ++YYCURSOR; +yy229: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2189,19 +2358,22 @@ yy229: ++YYCURSOR; } yy230: #line 162 "c.re" -{ RET(STRUCT); } -#line 2079 "" -yy231: yych = *++YYCURSOR; + { RET(STRUCT); } +#line 2248 "" +yy231: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy232; default: goto yy180; } -yy232: yych = *++YYCURSOR; +yy232: + yych = *++YYCURSOR; switch(yych){ case 'c': goto yy233; default: goto yy180; } -yy233: ++YYCURSOR; +yy233: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2270,29 +2442,34 @@ yy233: ++YYCURSOR; } yy234: #line 161 "c.re" -{ RET(STATIC); } -#line 2157 "" -yy235: yych = *++YYCURSOR; + { RET(STATIC); } +#line 2329 "" +yy235: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy241; default: goto yy180; } -yy236: yych = *++YYCURSOR; +yy236: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy237; default: goto yy180; } -yy237: yych = *++YYCURSOR; +yy237: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy238; default: goto yy180; } -yy238: yych = *++YYCURSOR; +yy238: + yych = *++YYCURSOR; switch(yych){ case 'f': goto yy239; default: goto yy180; } -yy239: ++YYCURSOR; +yy239: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2361,19 +2538,22 @@ yy239: ++YYCURSOR; } yy240: #line 160 "c.re" -{ RET(SIZEOF); } -#line 2245 "" -yy241: yych = *++YYCURSOR; + { RET(SIZEOF); } +#line 2422 "" +yy241: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy242; default: goto yy180; } -yy242: yych = *++YYCURSOR; +yy242: + yych = *++YYCURSOR; switch(yych){ case 'd': goto yy243; default: goto yy180; } -yy243: ++YYCURSOR; +yy243: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2442,19 +2622,22 @@ yy243: ++YYCURSOR; } yy244: #line 159 "c.re" -{ RET(SIGNED); } -#line 2323 "" -yy245: yych = *++YYCURSOR; + { RET(SIGNED); } +#line 2503 "" +yy245: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy246; default: goto yy180; } -yy246: yych = *++YYCURSOR; +yy246: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy247; default: goto yy180; } -yy247: ++YYCURSOR; +yy247: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2523,35 +2706,41 @@ yy247: ++YYCURSOR; } yy248: #line 158 "c.re" -{ RET(SHORT); } -#line 2401 "" -yy249: yych = *++YYCURSOR; + { RET(SHORT); } +#line 2584 "" +yy249: + yych = *++YYCURSOR; switch(yych){ case 'g': goto yy250; case 't': goto yy251; default: goto yy180; } -yy250: yych = *++YYCURSOR; +yy250: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy256; default: goto yy180; } -yy251: yych = *++YYCURSOR; +yy251: + yych = *++YYCURSOR; switch(yych){ case 'u': goto yy252; default: goto yy180; } -yy252: yych = *++YYCURSOR; +yy252: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy253; default: goto yy180; } -yy253: yych = *++YYCURSOR; +yy253: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy254; default: goto yy180; } -yy254: ++YYCURSOR; +yy254: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2620,29 +2809,34 @@ yy254: ++YYCURSOR; } yy255: #line 157 "c.re" -{ RET(RETURN); } -#line 2495 "" -yy256: yych = *++YYCURSOR; + { RET(RETURN); } +#line 2684 "" +yy256: + yych = *++YYCURSOR; switch(yych){ case 's': goto yy257; default: goto yy180; } -yy257: yych = *++YYCURSOR; +yy257: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy258; default: goto yy180; } -yy258: yych = *++YYCURSOR; +yy258: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy259; default: goto yy180; } -yy259: yych = *++YYCURSOR; +yy259: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy260; default: goto yy180; } -yy260: ++YYCURSOR; +yy260: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2711,19 +2905,22 @@ yy260: ++YYCURSOR; } yy261: #line 156 "c.re" -{ RET(REGISTER); } -#line 2583 "" -yy262: yych = *++YYCURSOR; + { RET(REGISTER); } +#line 2777 "" +yy262: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy263; default: goto yy180; } -yy263: yych = *++YYCURSOR; +yy263: + yych = *++YYCURSOR; switch(yych){ case 'g': goto yy264; default: goto yy180; } -yy264: ++YYCURSOR; +yy264: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2792,9 +2989,10 @@ yy264: ++YYCURSOR; } yy265: #line 155 "c.re" -{ RET(LONG); } -#line 2661 "" -yy266: ++YYCURSOR; + { RET(LONG); } +#line 2858 "" +yy266: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2863,14 +3061,16 @@ yy266: ++YYCURSOR; } yy267: #line 153 "c.re" -{ RET(IF); } -#line 2729 "" -yy268: yych = *++YYCURSOR; + { RET(IF); } +#line 2927 "" +yy268: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy269; default: goto yy180; } -yy269: ++YYCURSOR; +yy269: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2939,19 +3139,22 @@ yy269: ++YYCURSOR; } yy270: #line 154 "c.re" -{ RET(INT); } -#line 2802 "" -yy271: yych = *++YYCURSOR; + { RET(INT); } +#line 3002 "" +yy271: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy272; default: goto yy180; } -yy272: yych = *++YYCURSOR; +yy272: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy273; default: goto yy180; } -yy273: ++YYCURSOR; +yy273: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3020,19 +3223,22 @@ yy273: ++YYCURSOR; } yy274: #line 152 "c.re" -{ RET(GOTO); } -#line 2880 "" -yy275: yych = *++YYCURSOR; + { RET(GOTO); } +#line 3083 "" +yy275: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy279; default: goto yy180; } -yy276: yych = *++YYCURSOR; +yy276: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy277; default: goto yy180; } -yy277: ++YYCURSOR; +yy277: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3101,19 +3307,22 @@ yy277: ++YYCURSOR; } yy278: #line 151 "c.re" -{ RET(FOR); } -#line 2958 "" -yy279: yych = *++YYCURSOR; + { RET(FOR); } +#line 3164 "" +yy279: + yych = *++YYCURSOR; switch(yych){ case 'a': goto yy280; default: goto yy180; } -yy280: yych = *++YYCURSOR; +yy280: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy281; default: goto yy180; } -yy281: ++YYCURSOR; +yy281: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3182,39 +3391,46 @@ yy281: ++YYCURSOR; } yy282: #line 150 "c.re" -{ RET(FLOAT); } -#line 3036 "" -yy283: yych = *++YYCURSOR; + { RET(FLOAT); } +#line 3245 "" +yy283: + yych = *++YYCURSOR; switch(yych){ case 's': goto yy294; default: goto yy180; } -yy284: yych = *++YYCURSOR; +yy284: + yych = *++YYCURSOR; switch(yych){ case 'u': goto yy291; default: goto yy180; } -yy285: yych = *++YYCURSOR; +yy285: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy286; default: goto yy180; } -yy286: yych = *++YYCURSOR; +yy286: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy287; default: goto yy180; } -yy287: yych = *++YYCURSOR; +yy287: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy288; default: goto yy180; } -yy288: yych = *++YYCURSOR; +yy288: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy289; default: goto yy180; } -yy289: ++YYCURSOR; +yy289: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3283,14 +3499,16 @@ yy289: ++YYCURSOR; } yy290: #line 149 "c.re" -{ RET(EXTERN); } -#line 3134 "" -yy291: yych = *++YYCURSOR; + { RET(EXTERN); } +#line 3350 "" +yy291: + yych = *++YYCURSOR; switch(yych){ case 'm': goto yy292; default: goto yy180; } -yy292: ++YYCURSOR; +yy292: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3359,14 +3577,16 @@ yy292: ++YYCURSOR; } yy293: #line 148 "c.re" -{ RET(ENUM); } -#line 3207 "" -yy294: yych = *++YYCURSOR; + { RET(ENUM); } +#line 3425 "" +yy294: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy295; default: goto yy180; } -yy295: ++YYCURSOR; +yy295: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3435,14 +3655,16 @@ yy295: ++YYCURSOR; } yy296: #line 147 "c.re" -{ RET(ELSE); } -#line 3280 "" -yy297: yych = *++YYCURSOR; + { RET(ELSE); } +#line 3500 "" +yy297: + yych = *++YYCURSOR; switch(yych){ case 'f': goto yy305; default: goto yy180; } -yy298: ++YYCURSOR; +yy298: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3511,24 +3733,28 @@ yy298: ++YYCURSOR; } yy299: #line 145 "c.re" -{ RET(DO); } -#line 3352 "" -yy300: yych = *++YYCURSOR; + { RET(DO); } +#line 3574 "" +yy300: + yych = *++YYCURSOR; switch(yych){ case 'b': goto yy301; default: goto yy180; } -yy301: yych = *++YYCURSOR; +yy301: + yych = *++YYCURSOR; switch(yych){ case 'l': goto yy302; default: goto yy180; } -yy302: yych = *++YYCURSOR; +yy302: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy303; default: goto yy180; } -yy303: ++YYCURSOR; +yy303: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3597,29 +3823,34 @@ yy303: ++YYCURSOR; } yy304: #line 146 "c.re" -{ RET(DOUBLE); } -#line 3435 "" -yy305: yych = *++YYCURSOR; + { RET(DOUBLE); } +#line 3661 "" +yy305: + yych = *++YYCURSOR; switch(yych){ case 'a': goto yy306; default: goto yy180; } -yy306: yych = *++YYCURSOR; +yy306: + yych = *++YYCURSOR; switch(yych){ case 'u': goto yy307; default: goto yy180; } -yy307: yych = *++YYCURSOR; +yy307: + yych = *++YYCURSOR; switch(yych){ case 'l': goto yy308; default: goto yy180; } -yy308: yych = *++YYCURSOR; +yy308: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy309; default: goto yy180; } -yy309: ++YYCURSOR; +yy309: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3688,55 +3919,65 @@ yy309: ++YYCURSOR; } yy310: #line 144 "c.re" -{ RET(DEFAULT); } -#line 3523 "" -yy311: yych = *++YYCURSOR; + { RET(DEFAULT); } +#line 3754 "" +yy311: + yych = *++YYCURSOR; switch(yych){ case 's': goto yy327; default: goto yy180; } -yy312: yych = *++YYCURSOR; +yy312: + yych = *++YYCURSOR; switch(yych){ case 'a': goto yy324; default: goto yy180; } -yy313: yych = *++YYCURSOR; +yy313: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy314; default: goto yy180; } -yy314: yych = *++YYCURSOR; +yy314: + yych = *++YYCURSOR; switch(yych){ case 's': goto yy315; case 't': goto yy316; default: goto yy180; } -yy315: yych = *++YYCURSOR; +yy315: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy322; default: goto yy180; } -yy316: yych = *++YYCURSOR; +yy316: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy317; default: goto yy180; } -yy317: yych = *++YYCURSOR; +yy317: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy318; default: goto yy180; } -yy318: yych = *++YYCURSOR; +yy318: + yych = *++YYCURSOR; switch(yych){ case 'u': goto yy319; default: goto yy180; } -yy319: yych = *++YYCURSOR; +yy319: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy320; default: goto yy180; } -yy320: ++YYCURSOR; +yy320: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3805,9 +4046,10 @@ yy320: ++YYCURSOR; } yy321: #line 143 "c.re" -{ RET(CONTINUE); } -#line 3637 "" -yy322: ++YYCURSOR; + { RET(CONTINUE); } +#line 3878 "" +yy322: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3876,14 +4118,16 @@ yy322: ++YYCURSOR; } yy323: #line 142 "c.re" -{ RET(CONST); } -#line 3705 "" -yy324: yych = *++YYCURSOR; + { RET(CONST); } +#line 3947 "" +yy324: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy325; default: goto yy180; } -yy325: ++YYCURSOR; +yy325: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3952,14 +4196,16 @@ yy325: ++YYCURSOR; } yy326: #line 141 "c.re" -{ RET(CHAR); } -#line 3778 "" -yy327: yych = *++YYCURSOR; + { RET(CHAR); } +#line 4022 "" +yy327: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy328; default: goto yy180; } -yy328: ++YYCURSOR; +yy328: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -4028,24 +4274,28 @@ yy328: ++YYCURSOR; } yy329: #line 140 "c.re" -{ RET(CASE); } -#line 3851 "" -yy330: yych = *++YYCURSOR; + { RET(CASE); } +#line 4097 "" +yy330: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy331; default: goto yy180; } -yy331: yych = *++YYCURSOR; +yy331: + yych = *++YYCURSOR; switch(yych){ case 'a': goto yy332; default: goto yy180; } -yy332: yych = *++YYCURSOR; +yy332: + yych = *++YYCURSOR; switch(yych){ case 'k': goto yy333; default: goto yy180; } -yy333: ++YYCURSOR; +yy333: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -4114,19 +4364,22 @@ yy333: ++YYCURSOR; } yy334: #line 139 "c.re" -{ RET(BREAK); } -#line 3934 "" -yy335: yych = *++YYCURSOR; + { RET(BREAK); } +#line 4184 "" +yy335: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy336; default: goto yy180; } -yy336: yych = *++YYCURSOR; +yy336: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy337; default: goto yy180; } -yy337: ++YYCURSOR; +yy337: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -4195,27 +4448,29 @@ yy337: ++YYCURSOR; } yy338: #line 138 "c.re" -{ RET(AUTO); } -#line 4012 "" -yy339: ++YYCURSOR; + { RET(AUTO); } +#line 4265 "" +yy339: + ++YYCURSOR; goto yy340; yy340: #line 189 "c.re" -{ RET(DIVEQ); } -#line 4018 "" -yy341: ++YYCURSOR; + { RET(DIVEQ); } +#line 4272 "" +yy341: + ++YYCURSOR; goto yy342; yy342: #line 136 "c.re" -{ goto comment; } -#line 4024 "" + { goto comment; } +#line 4279 "" } #line 245 "c.re" comment: -#line 4031 "" +#line 4286 "" { YYCTYPE yych; goto yy343; @@ -4228,33 +4483,37 @@ yy343: case '*': goto yy345; default: goto yy349; } -yy345: ++YYCURSOR; +yy345: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '/': goto yy350; default: goto yy346; } yy346: #line 256 "c.re" -{ goto comment; } -#line 4052 "" -yy347: ++YYCURSOR; + { goto comment; } +#line 4308 "" +yy347: + ++YYCURSOR; goto yy348; yy348: #line 251 "c.re" -{ + { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } -#line 4062 "" -yy349: yych = *++YYCURSOR; +#line 4319 "" +yy349: + yych = *++YYCURSOR; goto yy346; -yy350: ++YYCURSOR; +yy350: + ++YYCURSOR; goto yy351; yy351: #line 249 "c.re" -{ goto std; } -#line 4070 "" + { goto std; } +#line 4329 "" } #line 257 "c.re" diff --git a/test/cmmap.c b/test/cmmap.c index 3edc2d75..3416e20d 100644 --- a/test/cmmap.c +++ b/test/cmmap.c @@ -215,7 +215,8 @@ yy0: case '~': goto yy69; default: goto yy77; } -yy2: ++YYCURSOR; +yy2: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '*': goto yy341; case '=': goto yy339; @@ -223,70 +224,81 @@ yy2: ++YYCURSOR; } yy3: #line 205 "cmmap.re" -{ RET('/'); } -#line 221 "" -yy4: ++YYCURSOR; + { RET('/'); } +#line 222 "" +yy4: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case 'u': goto yy335; default: goto yy180; } yy5: #line 154 "cmmap.re" -{ RET(ID); } -#line 230 "" -yy6: yych = *++YYCURSOR; + { RET(ID); } +#line 232 "" +yy6: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy330; default: goto yy180; } -yy7: yych = *++YYCURSOR; +yy7: + yych = *++YYCURSOR; switch(yych){ case 'a': goto yy311; case 'h': goto yy312; case 'o': goto yy313; default: goto yy180; } -yy8: yych = *++YYCURSOR; +yy8: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy297; case 'o': goto yy298; default: goto yy180; } -yy9: yych = *++YYCURSOR; +yy9: + yych = *++YYCURSOR; switch(yych){ case 'l': goto yy283; case 'n': goto yy284; case 'x': goto yy285; default: goto yy180; } -yy10: yych = *++YYCURSOR; +yy10: + yych = *++YYCURSOR; switch(yych){ case 'l': goto yy275; case 'o': goto yy276; default: goto yy180; } -yy11: yych = *++YYCURSOR; +yy11: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy271; default: goto yy180; } -yy12: yych = *++YYCURSOR; +yy12: + yych = *++YYCURSOR; switch(yych){ case 'f': goto yy266; case 'n': goto yy268; default: goto yy180; } -yy13: yych = *++YYCURSOR; +yy13: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy262; default: goto yy180; } -yy14: yych = *++YYCURSOR; +yy14: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy249; default: goto yy180; } -yy15: yych = *++YYCURSOR; +yy15: + yych = *++YYCURSOR; switch(yych){ case 'h': goto yy216; case 'i': goto yy217; @@ -294,29 +306,35 @@ yy15: yych = *++YYCURSOR; case 'w': goto yy219; default: goto yy180; } -yy16: yych = *++YYCURSOR; +yy16: + yych = *++YYCURSOR; switch(yych){ case 'y': goto yy209; default: goto yy180; } -yy17: yych = *++YYCURSOR; +yy17: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy197; default: goto yy180; } -yy18: yych = *++YYCURSOR; +yy18: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy186; default: goto yy180; } -yy19: yych = *++YYCURSOR; +yy19: + yych = *++YYCURSOR; switch(yych){ case 'h': goto yy181; default: goto yy180; } -yy20: yych = *++YYCURSOR; +yy20: + yych = *++YYCURSOR; goto yy180; -yy21: yyaccept = 0; +yy21: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 'L': @@ -329,12 +347,14 @@ yy21: yyaccept = 0; } yy22: #line 158 "cmmap.re" -{ RET(ICON); } -#line 323 "" -yy23: yyaccept = 0; + { RET(ICON); } +#line 341 "" +yy23: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy153; -yy24: yyaccept = 1; +yy24: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy25; @@ -342,12 +362,13 @@ yy24: yyaccept = 1; } yy25: #line 224 "cmmap.re" -{ + { printf("unexpected character: %c\n", *s->tok); goto std; } -#line 339 "" -yy26: yyaccept = 2; +#line 359 "" +yy26: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case '.': goto yy131; @@ -365,15 +386,17 @@ yy26: yyaccept = 2; } yy27: #line 198 "cmmap.re" -{ RET('.'); } -#line 359 "" -yy28: yyaccept = 1; + { RET('.'); } +#line 380 "" +yy28: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy25; default: goto yy121; } -yy29: ++YYCURSOR; +yy29: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy114; case '>': goto yy116; @@ -381,9 +404,10 @@ yy29: ++YYCURSOR; } yy30: #line 208 "cmmap.re" -{ RET('>'); } -#line 375 "" -yy31: ++YYCURSOR; + { RET('>'); } +#line 398 "" +yy31: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '<': goto yy110; case '=': goto yy108; @@ -391,9 +415,10 @@ yy31: ++YYCURSOR; } yy32: #line 207 "cmmap.re" -{ RET('<'); } -#line 385 "" -yy33: ++YYCURSOR; + { RET('<'); } +#line 409 "" +yy33: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '+': goto yy104; case '=': goto yy106; @@ -401,9 +426,10 @@ yy33: ++YYCURSOR; } yy34: #line 203 "cmmap.re" -{ RET('+'); } -#line 395 "" -yy35: ++YYCURSOR; + { RET('+'); } +#line 420 "" +yy35: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '-': goto yy100; case '=': goto yy102; @@ -412,27 +438,30 @@ yy35: ++YYCURSOR; } yy36: #line 202 "cmmap.re" -{ RET('-'); } -#line 406 "" -yy37: ++YYCURSOR; + { RET('-'); } +#line 432 "" +yy37: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy96; default: goto yy38; } yy38: #line 204 "cmmap.re" -{ RET('*'); } -#line 415 "" -yy39: ++YYCURSOR; + { RET('*'); } +#line 442 "" +yy39: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy94; default: goto yy40; } yy40: #line 206 "cmmap.re" -{ RET('%'); } -#line 424 "" -yy41: ++YYCURSOR; + { RET('%'); } +#line 452 "" +yy41: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '&': goto yy90; case '=': goto yy92; @@ -440,18 +469,20 @@ yy41: ++YYCURSOR; } yy42: #line 199 "cmmap.re" -{ RET('&'); } -#line 434 "" -yy43: ++YYCURSOR; + { RET('&'); } +#line 463 "" +yy43: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy88; default: goto yy44; } yy44: #line 209 "cmmap.re" -{ RET('^'); } -#line 443 "" -yy45: ++YYCURSOR; + { RET('^'); } +#line 473 "" +yy45: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy86; case '|': goto yy84; @@ -459,266 +490,308 @@ yy45: ++YYCURSOR; } yy46: #line 210 "cmmap.re" -{ RET('|'); } -#line 453 "" -yy47: ++YYCURSOR; + { RET('|'); } +#line 484 "" +yy47: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy82; default: goto yy48; } yy48: #line 193 "cmmap.re" -{ RET('='); } -#line 462 "" -yy49: ++YYCURSOR; + { RET('='); } +#line 494 "" +yy49: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy80; default: goto yy50; } yy50: #line 200 "cmmap.re" -{ RET('!'); } -#line 471 "" -yy51: ++YYCURSOR; + { RET('!'); } +#line 504 "" +yy51: + ++YYCURSOR; goto yy52; yy52: #line 188 "cmmap.re" -{ RET(';'); } -#line 477 "" -yy53: ++YYCURSOR; + { RET(';'); } +#line 511 "" +yy53: + ++YYCURSOR; goto yy54; yy54: #line 189 "cmmap.re" -{ RET('{'); } -#line 483 "" -yy55: ++YYCURSOR; + { RET('{'); } +#line 518 "" +yy55: + ++YYCURSOR; goto yy56; yy56: #line 190 "cmmap.re" -{ RET('}'); } -#line 489 "" -yy57: ++YYCURSOR; + { RET('}'); } +#line 525 "" +yy57: + ++YYCURSOR; goto yy58; yy58: #line 191 "cmmap.re" -{ RET(','); } -#line 495 "" -yy59: ++YYCURSOR; + { RET(','); } +#line 532 "" +yy59: + ++YYCURSOR; goto yy60; yy60: #line 192 "cmmap.re" -{ RET(':'); } -#line 501 "" -yy61: ++YYCURSOR; + { RET(':'); } +#line 539 "" +yy61: + ++YYCURSOR; goto yy62; yy62: #line 194 "cmmap.re" -{ RET('('); } -#line 507 "" -yy63: ++YYCURSOR; + { RET('('); } +#line 546 "" +yy63: + ++YYCURSOR; goto yy64; yy64: #line 195 "cmmap.re" -{ RET(')'); } -#line 513 "" -yy65: ++YYCURSOR; + { RET(')'); } +#line 553 "" +yy65: + ++YYCURSOR; goto yy66; yy66: #line 196 "cmmap.re" -{ RET('['); } -#line 519 "" -yy67: ++YYCURSOR; + { RET('['); } +#line 560 "" +yy67: + ++YYCURSOR; goto yy68; yy68: #line 197 "cmmap.re" -{ RET(']'); } -#line 525 "" -yy69: ++YYCURSOR; + { RET(']'); } +#line 567 "" +yy69: + ++YYCURSOR; goto yy70; yy70: #line 201 "cmmap.re" -{ RET('~'); } -#line 531 "" -yy71: ++YYCURSOR; + { RET('~'); } +#line 574 "" +yy71: + ++YYCURSOR; goto yy72; yy72: #line 211 "cmmap.re" -{ RET('?'); } -#line 537 "" -yy73: ++YYCURSOR; + { RET('?'); } +#line 581 "" +yy73: + ++YYCURSOR; yych = *YYCURSOR; goto yy79; yy74: #line 214 "cmmap.re" -{ goto std; } -#line 544 "" -yy75: ++YYCURSOR; + { goto std; } +#line 589 "" +yy75: + ++YYCURSOR; goto yy76; yy76: #line 217 "cmmap.re" -{ + { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } -#line 554 "" -yy77: yych = *++YYCURSOR; +#line 600 "" +yy77: + yych = *++YYCURSOR; goto yy25; -yy78: ++YYCURSOR; +yy78: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy79; -yy79: switch(yych){ +yy79: + switch(yych){ case 0x09: case 0x0B: case 0x0C: case ' ': goto yy78; default: goto yy74; } -yy80: ++YYCURSOR; +yy80: + ++YYCURSOR; goto yy81; yy81: #line 187 "cmmap.re" -{ RET(NEQ); } -#line 571 "" -yy82: ++YYCURSOR; + { RET(NEQ); } +#line 621 "" +yy82: + ++YYCURSOR; goto yy83; yy83: #line 186 "cmmap.re" -{ RET(EQL); } -#line 577 "" -yy84: ++YYCURSOR; + { RET(EQL); } +#line 628 "" +yy84: + ++YYCURSOR; goto yy85; yy85: #line 183 "cmmap.re" -{ RET(OROR); } -#line 583 "" -yy86: ++YYCURSOR; + { RET(OROR); } +#line 635 "" +yy86: + ++YYCURSOR; goto yy87; yy87: #line 176 "cmmap.re" -{ RET(OREQ); } -#line 589 "" -yy88: ++YYCURSOR; + { RET(OREQ); } +#line 642 "" +yy88: + ++YYCURSOR; goto yy89; yy89: #line 175 "cmmap.re" -{ RET(XOREQ); } -#line 595 "" -yy90: ++YYCURSOR; + { RET(XOREQ); } +#line 649 "" +yy90: + ++YYCURSOR; goto yy91; yy91: #line 182 "cmmap.re" -{ RET(ANDAND); } -#line 601 "" -yy92: ++YYCURSOR; + { RET(ANDAND); } +#line 656 "" +yy92: + ++YYCURSOR; goto yy93; yy93: #line 174 "cmmap.re" -{ RET(ANDEQ); } -#line 607 "" -yy94: ++YYCURSOR; + { RET(ANDEQ); } +#line 663 "" +yy94: + ++YYCURSOR; goto yy95; yy95: #line 173 "cmmap.re" -{ RET(MODEQ); } -#line 613 "" -yy96: ++YYCURSOR; + { RET(MODEQ); } +#line 670 "" +yy96: + ++YYCURSOR; goto yy97; yy97: #line 171 "cmmap.re" -{ RET(MULEQ); } -#line 619 "" -yy98: ++YYCURSOR; + { RET(MULEQ); } +#line 677 "" +yy98: + ++YYCURSOR; goto yy99; yy99: #line 181 "cmmap.re" -{ RET(DEREF); } -#line 625 "" -yy100: ++YYCURSOR; + { RET(DEREF); } +#line 684 "" +yy100: + ++YYCURSOR; goto yy101; yy101: #line 180 "cmmap.re" -{ RET(DECR); } -#line 631 "" -yy102: ++YYCURSOR; + { RET(DECR); } +#line 691 "" +yy102: + ++YYCURSOR; goto yy103; yy103: #line 170 "cmmap.re" -{ RET(SUBEQ); } -#line 637 "" -yy104: ++YYCURSOR; + { RET(SUBEQ); } +#line 698 "" +yy104: + ++YYCURSOR; goto yy105; yy105: #line 179 "cmmap.re" -{ RET(INCR); } -#line 643 "" -yy106: ++YYCURSOR; + { RET(INCR); } +#line 705 "" +yy106: + ++YYCURSOR; goto yy107; yy107: #line 169 "cmmap.re" -{ RET(ADDEQ); } -#line 649 "" -yy108: ++YYCURSOR; + { RET(ADDEQ); } +#line 712 "" +yy108: + ++YYCURSOR; goto yy109; yy109: #line 184 "cmmap.re" -{ RET(LEQ); } -#line 655 "" -yy110: ++YYCURSOR; + { RET(LEQ); } +#line 719 "" +yy110: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy112; default: goto yy111; } yy111: #line 178 "cmmap.re" -{ RET(LSHIFT); } -#line 664 "" -yy112: ++YYCURSOR; + { RET(LSHIFT); } +#line 729 "" +yy112: + ++YYCURSOR; goto yy113; yy113: #line 168 "cmmap.re" -{ RET(LSHIFTEQ); } -#line 670 "" -yy114: ++YYCURSOR; + { RET(LSHIFTEQ); } +#line 736 "" +yy114: + ++YYCURSOR; goto yy115; yy115: #line 185 "cmmap.re" -{ RET(GEQ); } -#line 676 "" -yy116: ++YYCURSOR; + { RET(GEQ); } +#line 743 "" +yy116: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy118; default: goto yy117; } yy117: #line 177 "cmmap.re" -{ RET(RSHIFT); } -#line 685 "" -yy118: ++YYCURSOR; + { RET(RSHIFT); } +#line 753 "" +yy118: + ++YYCURSOR; goto yy119; yy119: #line 167 "cmmap.re" -{ RET(RSHIFTEQ); } -#line 691 "" -yy120: ++YYCURSOR; + { RET(RSHIFTEQ); } +#line 760 "" +yy120: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy121; -yy121: switch(yych){ +yy121: + switch(yych){ case 0x0A: goto yy122; case '"': goto yy124; case '\\': goto yy123; default: goto yy120; } -yy122: YYCURSOR = YYMARKER; +yy122: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy22; case 3: goto yy134; case 2: goto yy27; case 1: goto yy25; } -yy123: ++YYCURSOR; +yy123: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -744,13 +817,15 @@ yy123: ++YYCURSOR; case 'x': goto yy126; default: goto yy122; } -yy124: ++YYCURSOR; +yy124: + ++YYCURSOR; goto yy125; yy125: #line 164 "cmmap.re" -{ RET(SCON); } -#line 731 "" -yy126: ++YYCURSOR; + { RET(SCON); } +#line 805 "" +yy126: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -778,11 +853,13 @@ yy126: ++YYCURSOR; case 'f': goto yy129; default: goto yy122; } -yy127: ++YYCURSOR; +yy127: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy128; -yy128: switch(yych){ +yy128: + switch(yych){ case 0x0A: goto yy122; case '"': goto yy124; case '0': @@ -796,11 +873,13 @@ yy128: switch(yych){ case '\\': goto yy123; default: goto yy120; } -yy129: ++YYCURSOR; +yy129: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy130; -yy130: switch(yych){ +yy130: + switch(yych){ case 0x0A: goto yy122; case '"': goto yy124; case '0': @@ -828,17 +907,20 @@ yy130: switch(yych){ case '\\': goto yy123; default: goto yy120; } -yy131: yych = *++YYCURSOR; +yy131: + yych = *++YYCURSOR; switch(yych){ case '.': goto yy140; default: goto yy122; } -yy132: yyaccept = 3; +yy132: + yyaccept = 3; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; goto yy133; -yy133: switch(yych){ +yy133: + switch(yych){ case '0': case '1': case '2': @@ -859,9 +941,10 @@ yy133: switch(yych){ } yy134: #line 161 "cmmap.re" -{ RET(FCON); } -#line 834 "" -yy135: yych = *++YYCURSOR; + { RET(FCON); } +#line 916 "" +yy135: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy137; @@ -877,9 +960,11 @@ yy135: yych = *++YYCURSOR; case '9': goto yy138; default: goto yy122; } -yy136: yych = *++YYCURSOR; +yy136: + yych = *++YYCURSOR; goto yy134; -yy137: yych = *++YYCURSOR; +yy137: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -893,11 +978,13 @@ yy137: yych = *++YYCURSOR; case '9': goto yy138; default: goto yy122; } -yy138: ++YYCURSOR; +yy138: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy139; -yy139: switch(yych){ +yy139: + switch(yych){ case '0': case '1': case '2': @@ -914,23 +1001,27 @@ yy139: switch(yych){ case 'l': goto yy136; default: goto yy134; } -yy140: ++YYCURSOR; +yy140: + ++YYCURSOR; goto yy141; yy141: #line 166 "cmmap.re" -{ RET(ELLIPSIS); } -#line 889 "" -yy142: ++YYCURSOR; + { RET(ELLIPSIS); } +#line 977 "" +yy142: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy143; -yy143: switch(yych){ +yy143: + switch(yych){ case 0x0A: goto yy122; case '\'': goto yy145; case '\\': goto yy144; default: goto yy142; } -yy144: ++YYCURSOR; +yy144: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -956,9 +1047,11 @@ yy144: ++YYCURSOR; case 'x': goto yy146; default: goto yy122; } -yy145: yych = *++YYCURSOR; +yy145: + yych = *++YYCURSOR; goto yy22; -yy146: ++YYCURSOR; +yy146: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -986,11 +1079,13 @@ yy146: ++YYCURSOR; case 'f': goto yy149; default: goto yy122; } -yy147: ++YYCURSOR; +yy147: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy148; -yy148: switch(yych){ +yy148: + switch(yych){ case 0x0A: goto yy122; case '\'': goto yy145; case '0': @@ -1004,11 +1099,13 @@ yy148: switch(yych){ case '\\': goto yy144; default: goto yy142; } -yy149: ++YYCURSOR; +yy149: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy150; -yy150: switch(yych){ +yy150: + switch(yych){ case 0x0A: goto yy122; case '\'': goto yy145; case '0': @@ -1036,19 +1133,22 @@ yy150: switch(yych){ case '\\': goto yy144; default: goto yy142; } -yy151: yyaccept = 3; +yy151: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 'E': case 'e': goto yy162; default: goto yy161; } -yy152: yyaccept = 0; +yy152: + yyaccept = 0; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; goto yy153; -yy153: switch(yych){ +yy153: + switch(yych){ case '.': goto yy151; case '0': case '1': @@ -1068,7 +1168,8 @@ yy153: switch(yych){ case 'u': goto yy155; default: goto yy22; } -yy154: yych = *++YYCURSOR; +yy154: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy157; @@ -1084,18 +1185,21 @@ yy154: yych = *++YYCURSOR; case '9': goto yy158; default: goto yy122; } -yy155: ++YYCURSOR; +yy155: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy156; -yy156: switch(yych){ +yy156: + switch(yych){ case 'L': case 'U': case 'l': case 'u': goto yy155; default: goto yy22; } -yy157: yych = *++YYCURSOR; +yy157: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -1109,11 +1213,13 @@ yy157: yych = *++YYCURSOR; case '9': goto yy158; default: goto yy122; } -yy158: ++YYCURSOR; +yy158: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy159; -yy159: switch(yych){ +yy159: + switch(yych){ case '0': case '1': case '2': @@ -1130,12 +1236,14 @@ yy159: switch(yych){ case 'l': goto yy136; default: goto yy134; } -yy160: yyaccept = 3; +yy160: + yyaccept = 3; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; goto yy161; -yy161: switch(yych){ +yy161: + switch(yych){ case '0': case '1': case '2': @@ -1154,7 +1262,8 @@ yy161: switch(yych){ case 'l': goto yy136; default: goto yy134; } -yy162: yych = *++YYCURSOR; +yy162: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy163; @@ -1170,7 +1279,8 @@ yy162: yych = *++YYCURSOR; case '9': goto yy164; default: goto yy122; } -yy163: yych = *++YYCURSOR; +yy163: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -1184,11 +1294,13 @@ yy163: yych = *++YYCURSOR; case '9': goto yy164; default: goto yy122; } -yy164: ++YYCURSOR; +yy164: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy165; -yy165: switch(yych){ +yy165: + switch(yych){ case '0': case '1': case '2': @@ -1205,7 +1317,8 @@ yy165: switch(yych){ case 'l': goto yy136; default: goto yy134; } -yy166: yych = *++YYCURSOR; +yy166: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy167; @@ -1221,7 +1334,8 @@ yy166: yych = *++YYCURSOR; case '9': goto yy168; default: goto yy122; } -yy167: yych = *++YYCURSOR; +yy167: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -1235,11 +1349,13 @@ yy167: yych = *++YYCURSOR; case '9': goto yy168; default: goto yy122; } -yy168: ++YYCURSOR; +yy168: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy169; -yy169: switch(yych){ +yy169: + switch(yych){ case '0': case '1': case '2': @@ -1256,12 +1372,14 @@ yy169: switch(yych){ case 'l': goto yy136; default: goto yy134; } -yy170: yyaccept = 0; +yy170: + yyaccept = 0; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; goto yy171; -yy171: switch(yych){ +yy171: + switch(yych){ case '.': goto yy151; case '0': case '1': @@ -1281,7 +1399,8 @@ yy171: switch(yych){ case 'u': goto yy177; default: goto yy22; } -yy172: yych = *++YYCURSOR; +yy172: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -1307,11 +1426,13 @@ yy172: yych = *++YYCURSOR; case 'f': goto yy173; default: goto yy122; } -yy173: ++YYCURSOR; +yy173: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy174; -yy174: switch(yych){ +yy174: + switch(yych){ case '0': case '1': case '2': @@ -1340,33 +1461,39 @@ yy174: switch(yych){ case 'u': goto yy175; default: goto yy22; } -yy175: ++YYCURSOR; +yy175: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy176; -yy176: switch(yych){ +yy176: + switch(yych){ case 'L': case 'U': case 'l': case 'u': goto yy175; default: goto yy22; } -yy177: ++YYCURSOR; +yy177: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy178; -yy178: switch(yych){ +yy178: + switch(yych){ case 'L': case 'U': case 'l': case 'u': goto yy177; default: goto yy22; } -yy179: ++YYCURSOR; +yy179: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy180; -yy180: switch(yych){ +yy180: + switch(yych){ case '0': case '1': case '2': @@ -1432,22 +1559,26 @@ yy180: switch(yych){ case 'z': goto yy179; default: goto yy5; } -yy181: yych = *++YYCURSOR; +yy181: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy182; default: goto yy180; } -yy182: yych = *++YYCURSOR; +yy182: + yych = *++YYCURSOR; switch(yych){ case 'l': goto yy183; default: goto yy180; } -yy183: yych = *++YYCURSOR; +yy183: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy184; default: goto yy180; } -yy184: ++YYCURSOR; +yy184: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1516,45 +1647,53 @@ yy184: ++YYCURSOR; } yy185: #line 152 "cmmap.re" -{ RET(WHILE); } -#line 1427 "" -yy186: yych = *++YYCURSOR; + { RET(WHILE); } +#line 1558 "" +yy186: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy187; case 'l': goto yy188; default: goto yy180; } -yy187: yych = *++YYCURSOR; +yy187: + yych = *++YYCURSOR; switch(yych){ case 'd': goto yy195; default: goto yy180; } -yy188: yych = *++YYCURSOR; +yy188: + yych = *++YYCURSOR; switch(yych){ case 'a': goto yy189; default: goto yy180; } -yy189: yych = *++YYCURSOR; +yy189: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy190; default: goto yy180; } -yy190: yych = *++YYCURSOR; +yy190: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy191; default: goto yy180; } -yy191: yych = *++YYCURSOR; +yy191: + yych = *++YYCURSOR; switch(yych){ case 'l': goto yy192; default: goto yy180; } -yy192: yych = *++YYCURSOR; +yy192: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy193; default: goto yy180; } -yy193: ++YYCURSOR; +yy193: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1623,9 +1762,10 @@ yy193: ++YYCURSOR; } yy194: #line 151 "cmmap.re" -{ RET(VOLATILE); } -#line 1531 "" -yy195: ++YYCURSOR; + { RET(VOLATILE); } +#line 1670 "" +yy195: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1694,45 +1834,53 @@ yy195: ++YYCURSOR; } yy196: #line 150 "cmmap.re" -{ RET(VOID); } -#line 1599 "" -yy197: yych = *++YYCURSOR; + { RET(VOID); } +#line 1739 "" +yy197: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy198; case 's': goto yy199; default: goto yy180; } -yy198: yych = *++YYCURSOR; +yy198: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy206; default: goto yy180; } -yy199: yych = *++YYCURSOR; +yy199: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy200; default: goto yy180; } -yy200: yych = *++YYCURSOR; +yy200: + yych = *++YYCURSOR; switch(yych){ case 'g': goto yy201; default: goto yy180; } -yy201: yych = *++YYCURSOR; +yy201: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy202; default: goto yy180; } -yy202: yych = *++YYCURSOR; +yy202: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy203; default: goto yy180; } -yy203: yych = *++YYCURSOR; +yy203: + yych = *++YYCURSOR; switch(yych){ case 'd': goto yy204; default: goto yy180; } -yy204: ++YYCURSOR; +yy204: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1801,14 +1949,16 @@ yy204: ++YYCURSOR; } yy205: #line 149 "cmmap.re" -{ RET(UNSIGNED); } -#line 1703 "" -yy206: yych = *++YYCURSOR; + { RET(UNSIGNED); } +#line 1851 "" +yy206: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy207; default: goto yy180; } -yy207: ++YYCURSOR; +yy207: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1877,34 +2027,40 @@ yy207: ++YYCURSOR; } yy208: #line 148 "cmmap.re" -{ RET(UNION); } -#line 1776 "" -yy209: yych = *++YYCURSOR; + { RET(UNION); } +#line 1926 "" +yy209: + yych = *++YYCURSOR; switch(yych){ case 'p': goto yy210; default: goto yy180; } -yy210: yych = *++YYCURSOR; +yy210: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy211; default: goto yy180; } -yy211: yych = *++YYCURSOR; +yy211: + yych = *++YYCURSOR; switch(yych){ case 'd': goto yy212; default: goto yy180; } -yy212: yych = *++YYCURSOR; +yy212: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy213; default: goto yy180; } -yy213: yych = *++YYCURSOR; +yy213: + yych = *++YYCURSOR; switch(yych){ case 'f': goto yy214; default: goto yy180; } -yy214: ++YYCURSOR; +yy214: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1973,46 +2129,54 @@ yy214: ++YYCURSOR; } yy215: #line 147 "cmmap.re" -{ RET(TYPEDEF); } -#line 1869 "" -yy216: yych = *++YYCURSOR; + { RET(TYPEDEF); } +#line 2025 "" +yy216: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy245; default: goto yy180; } -yy217: yych = *++YYCURSOR; +yy217: + yych = *++YYCURSOR; switch(yych){ case 'g': goto yy235; case 'z': goto yy236; default: goto yy180; } -yy218: yych = *++YYCURSOR; +yy218: + yych = *++YYCURSOR; switch(yych){ case 'a': goto yy225; case 'r': goto yy226; default: goto yy180; } -yy219: yych = *++YYCURSOR; +yy219: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy220; default: goto yy180; } -yy220: yych = *++YYCURSOR; +yy220: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy221; default: goto yy180; } -yy221: yych = *++YYCURSOR; +yy221: + yych = *++YYCURSOR; switch(yych){ case 'c': goto yy222; default: goto yy180; } -yy222: yych = *++YYCURSOR; +yy222: + yych = *++YYCURSOR; switch(yych){ case 'h': goto yy223; default: goto yy180; } -yy223: ++YYCURSOR; +yy223: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2081,29 +2245,34 @@ yy223: ++YYCURSOR; } yy224: #line 146 "cmmap.re" -{ RET(SWITCH); } -#line 1974 "" -yy225: yych = *++YYCURSOR; + { RET(SWITCH); } +#line 2138 "" +yy225: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy231; default: goto yy180; } -yy226: yych = *++YYCURSOR; +yy226: + yych = *++YYCURSOR; switch(yych){ case 'u': goto yy227; default: goto yy180; } -yy227: yych = *++YYCURSOR; +yy227: + yych = *++YYCURSOR; switch(yych){ case 'c': goto yy228; default: goto yy180; } -yy228: yych = *++YYCURSOR; +yy228: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy229; default: goto yy180; } -yy229: ++YYCURSOR; +yy229: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2172,19 +2341,22 @@ yy229: ++YYCURSOR; } yy230: #line 145 "cmmap.re" -{ RET(STRUCT); } -#line 2062 "" -yy231: yych = *++YYCURSOR; + { RET(STRUCT); } +#line 2231 "" +yy231: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy232; default: goto yy180; } -yy232: yych = *++YYCURSOR; +yy232: + yych = *++YYCURSOR; switch(yych){ case 'c': goto yy233; default: goto yy180; } -yy233: ++YYCURSOR; +yy233: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2253,29 +2425,34 @@ yy233: ++YYCURSOR; } yy234: #line 144 "cmmap.re" -{ RET(STATIC); } -#line 2140 "" -yy235: yych = *++YYCURSOR; + { RET(STATIC); } +#line 2312 "" +yy235: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy241; default: goto yy180; } -yy236: yych = *++YYCURSOR; +yy236: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy237; default: goto yy180; } -yy237: yych = *++YYCURSOR; +yy237: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy238; default: goto yy180; } -yy238: yych = *++YYCURSOR; +yy238: + yych = *++YYCURSOR; switch(yych){ case 'f': goto yy239; default: goto yy180; } -yy239: ++YYCURSOR; +yy239: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2344,19 +2521,22 @@ yy239: ++YYCURSOR; } yy240: #line 143 "cmmap.re" -{ RET(SIZEOF); } -#line 2228 "" -yy241: yych = *++YYCURSOR; + { RET(SIZEOF); } +#line 2405 "" +yy241: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy242; default: goto yy180; } -yy242: yych = *++YYCURSOR; +yy242: + yych = *++YYCURSOR; switch(yych){ case 'd': goto yy243; default: goto yy180; } -yy243: ++YYCURSOR; +yy243: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2425,19 +2605,22 @@ yy243: ++YYCURSOR; } yy244: #line 142 "cmmap.re" -{ RET(SIGNED); } -#line 2306 "" -yy245: yych = *++YYCURSOR; + { RET(SIGNED); } +#line 2486 "" +yy245: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy246; default: goto yy180; } -yy246: yych = *++YYCURSOR; +yy246: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy247; default: goto yy180; } -yy247: ++YYCURSOR; +yy247: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2506,35 +2689,41 @@ yy247: ++YYCURSOR; } yy248: #line 141 "cmmap.re" -{ RET(SHORT); } -#line 2384 "" -yy249: yych = *++YYCURSOR; + { RET(SHORT); } +#line 2567 "" +yy249: + yych = *++YYCURSOR; switch(yych){ case 'g': goto yy250; case 't': goto yy251; default: goto yy180; } -yy250: yych = *++YYCURSOR; +yy250: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy256; default: goto yy180; } -yy251: yych = *++YYCURSOR; +yy251: + yych = *++YYCURSOR; switch(yych){ case 'u': goto yy252; default: goto yy180; } -yy252: yych = *++YYCURSOR; +yy252: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy253; default: goto yy180; } -yy253: yych = *++YYCURSOR; +yy253: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy254; default: goto yy180; } -yy254: ++YYCURSOR; +yy254: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2603,29 +2792,34 @@ yy254: ++YYCURSOR; } yy255: #line 140 "cmmap.re" -{ RET(RETURN); } -#line 2478 "" -yy256: yych = *++YYCURSOR; + { RET(RETURN); } +#line 2667 "" +yy256: + yych = *++YYCURSOR; switch(yych){ case 's': goto yy257; default: goto yy180; } -yy257: yych = *++YYCURSOR; +yy257: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy258; default: goto yy180; } -yy258: yych = *++YYCURSOR; +yy258: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy259; default: goto yy180; } -yy259: yych = *++YYCURSOR; +yy259: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy260; default: goto yy180; } -yy260: ++YYCURSOR; +yy260: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2694,19 +2888,22 @@ yy260: ++YYCURSOR; } yy261: #line 139 "cmmap.re" -{ RET(REGISTER); } -#line 2566 "" -yy262: yych = *++YYCURSOR; + { RET(REGISTER); } +#line 2760 "" +yy262: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy263; default: goto yy180; } -yy263: yych = *++YYCURSOR; +yy263: + yych = *++YYCURSOR; switch(yych){ case 'g': goto yy264; default: goto yy180; } -yy264: ++YYCURSOR; +yy264: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2775,9 +2972,10 @@ yy264: ++YYCURSOR; } yy265: #line 138 "cmmap.re" -{ RET(LONG); } -#line 2644 "" -yy266: ++YYCURSOR; + { RET(LONG); } +#line 2841 "" +yy266: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2846,14 +3044,16 @@ yy266: ++YYCURSOR; } yy267: #line 136 "cmmap.re" -{ RET(IF); } -#line 2712 "" -yy268: yych = *++YYCURSOR; + { RET(IF); } +#line 2910 "" +yy268: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy269; default: goto yy180; } -yy269: ++YYCURSOR; +yy269: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2922,19 +3122,22 @@ yy269: ++YYCURSOR; } yy270: #line 137 "cmmap.re" -{ RET(INT); } -#line 2785 "" -yy271: yych = *++YYCURSOR; + { RET(INT); } +#line 2985 "" +yy271: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy272; default: goto yy180; } -yy272: yych = *++YYCURSOR; +yy272: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy273; default: goto yy180; } -yy273: ++YYCURSOR; +yy273: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3003,19 +3206,22 @@ yy273: ++YYCURSOR; } yy274: #line 135 "cmmap.re" -{ RET(GOTO); } -#line 2863 "" -yy275: yych = *++YYCURSOR; + { RET(GOTO); } +#line 3066 "" +yy275: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy279; default: goto yy180; } -yy276: yych = *++YYCURSOR; +yy276: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy277; default: goto yy180; } -yy277: ++YYCURSOR; +yy277: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3084,19 +3290,22 @@ yy277: ++YYCURSOR; } yy278: #line 134 "cmmap.re" -{ RET(FOR); } -#line 2941 "" -yy279: yych = *++YYCURSOR; + { RET(FOR); } +#line 3147 "" +yy279: + yych = *++YYCURSOR; switch(yych){ case 'a': goto yy280; default: goto yy180; } -yy280: yych = *++YYCURSOR; +yy280: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy281; default: goto yy180; } -yy281: ++YYCURSOR; +yy281: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3165,39 +3374,46 @@ yy281: ++YYCURSOR; } yy282: #line 133 "cmmap.re" -{ RET(FLOAT); } -#line 3019 "" -yy283: yych = *++YYCURSOR; + { RET(FLOAT); } +#line 3228 "" +yy283: + yych = *++YYCURSOR; switch(yych){ case 's': goto yy294; default: goto yy180; } -yy284: yych = *++YYCURSOR; +yy284: + yych = *++YYCURSOR; switch(yych){ case 'u': goto yy291; default: goto yy180; } -yy285: yych = *++YYCURSOR; +yy285: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy286; default: goto yy180; } -yy286: yych = *++YYCURSOR; +yy286: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy287; default: goto yy180; } -yy287: yych = *++YYCURSOR; +yy287: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy288; default: goto yy180; } -yy288: yych = *++YYCURSOR; +yy288: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy289; default: goto yy180; } -yy289: ++YYCURSOR; +yy289: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3266,14 +3482,16 @@ yy289: ++YYCURSOR; } yy290: #line 132 "cmmap.re" -{ RET(EXTERN); } -#line 3117 "" -yy291: yych = *++YYCURSOR; + { RET(EXTERN); } +#line 3333 "" +yy291: + yych = *++YYCURSOR; switch(yych){ case 'm': goto yy292; default: goto yy180; } -yy292: ++YYCURSOR; +yy292: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3342,14 +3560,16 @@ yy292: ++YYCURSOR; } yy293: #line 131 "cmmap.re" -{ RET(ENUM); } -#line 3190 "" -yy294: yych = *++YYCURSOR; + { RET(ENUM); } +#line 3408 "" +yy294: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy295; default: goto yy180; } -yy295: ++YYCURSOR; +yy295: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3418,14 +3638,16 @@ yy295: ++YYCURSOR; } yy296: #line 130 "cmmap.re" -{ RET(ELSE); } -#line 3263 "" -yy297: yych = *++YYCURSOR; + { RET(ELSE); } +#line 3483 "" +yy297: + yych = *++YYCURSOR; switch(yych){ case 'f': goto yy305; default: goto yy180; } -yy298: ++YYCURSOR; +yy298: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3494,24 +3716,28 @@ yy298: ++YYCURSOR; } yy299: #line 128 "cmmap.re" -{ RET(DO); } -#line 3335 "" -yy300: yych = *++YYCURSOR; + { RET(DO); } +#line 3557 "" +yy300: + yych = *++YYCURSOR; switch(yych){ case 'b': goto yy301; default: goto yy180; } -yy301: yych = *++YYCURSOR; +yy301: + yych = *++YYCURSOR; switch(yych){ case 'l': goto yy302; default: goto yy180; } -yy302: yych = *++YYCURSOR; +yy302: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy303; default: goto yy180; } -yy303: ++YYCURSOR; +yy303: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3580,29 +3806,34 @@ yy303: ++YYCURSOR; } yy304: #line 129 "cmmap.re" -{ RET(DOUBLE); } -#line 3418 "" -yy305: yych = *++YYCURSOR; + { RET(DOUBLE); } +#line 3644 "" +yy305: + yych = *++YYCURSOR; switch(yych){ case 'a': goto yy306; default: goto yy180; } -yy306: yych = *++YYCURSOR; +yy306: + yych = *++YYCURSOR; switch(yych){ case 'u': goto yy307; default: goto yy180; } -yy307: yych = *++YYCURSOR; +yy307: + yych = *++YYCURSOR; switch(yych){ case 'l': goto yy308; default: goto yy180; } -yy308: yych = *++YYCURSOR; +yy308: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy309; default: goto yy180; } -yy309: ++YYCURSOR; +yy309: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3671,55 +3902,65 @@ yy309: ++YYCURSOR; } yy310: #line 127 "cmmap.re" -{ RET(DEFAULT); } -#line 3506 "" -yy311: yych = *++YYCURSOR; + { RET(DEFAULT); } +#line 3737 "" +yy311: + yych = *++YYCURSOR; switch(yych){ case 's': goto yy327; default: goto yy180; } -yy312: yych = *++YYCURSOR; +yy312: + yych = *++YYCURSOR; switch(yych){ case 'a': goto yy324; default: goto yy180; } -yy313: yych = *++YYCURSOR; +yy313: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy314; default: goto yy180; } -yy314: yych = *++YYCURSOR; +yy314: + yych = *++YYCURSOR; switch(yych){ case 's': goto yy315; case 't': goto yy316; default: goto yy180; } -yy315: yych = *++YYCURSOR; +yy315: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy322; default: goto yy180; } -yy316: yych = *++YYCURSOR; +yy316: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy317; default: goto yy180; } -yy317: yych = *++YYCURSOR; +yy317: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy318; default: goto yy180; } -yy318: yych = *++YYCURSOR; +yy318: + yych = *++YYCURSOR; switch(yych){ case 'u': goto yy319; default: goto yy180; } -yy319: yych = *++YYCURSOR; +yy319: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy320; default: goto yy180; } -yy320: ++YYCURSOR; +yy320: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3788,9 +4029,10 @@ yy320: ++YYCURSOR; } yy321: #line 126 "cmmap.re" -{ RET(CONTINUE); } -#line 3620 "" -yy322: ++YYCURSOR; + { RET(CONTINUE); } +#line 3861 "" +yy322: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3859,14 +4101,16 @@ yy322: ++YYCURSOR; } yy323: #line 125 "cmmap.re" -{ RET(CONST); } -#line 3688 "" -yy324: yych = *++YYCURSOR; + { RET(CONST); } +#line 3930 "" +yy324: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy325; default: goto yy180; } -yy325: ++YYCURSOR; +yy325: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3935,14 +4179,16 @@ yy325: ++YYCURSOR; } yy326: #line 124 "cmmap.re" -{ RET(CHAR); } -#line 3761 "" -yy327: yych = *++YYCURSOR; + { RET(CHAR); } +#line 4005 "" +yy327: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy328; default: goto yy180; } -yy328: ++YYCURSOR; +yy328: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -4011,24 +4257,28 @@ yy328: ++YYCURSOR; } yy329: #line 123 "cmmap.re" -{ RET(CASE); } -#line 3834 "" -yy330: yych = *++YYCURSOR; + { RET(CASE); } +#line 4080 "" +yy330: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy331; default: goto yy180; } -yy331: yych = *++YYCURSOR; +yy331: + yych = *++YYCURSOR; switch(yych){ case 'a': goto yy332; default: goto yy180; } -yy332: yych = *++YYCURSOR; +yy332: + yych = *++YYCURSOR; switch(yych){ case 'k': goto yy333; default: goto yy180; } -yy333: ++YYCURSOR; +yy333: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -4097,19 +4347,22 @@ yy333: ++YYCURSOR; } yy334: #line 122 "cmmap.re" -{ RET(BREAK); } -#line 3917 "" -yy335: yych = *++YYCURSOR; + { RET(BREAK); } +#line 4167 "" +yy335: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy336; default: goto yy180; } -yy336: yych = *++YYCURSOR; +yy336: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy337; default: goto yy180; } -yy337: ++YYCURSOR; +yy337: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -4178,27 +4431,29 @@ yy337: ++YYCURSOR; } yy338: #line 121 "cmmap.re" -{ RET(AUTO); } -#line 3995 "" -yy339: ++YYCURSOR; + { RET(AUTO); } +#line 4248 "" +yy339: + ++YYCURSOR; goto yy340; yy340: #line 172 "cmmap.re" -{ RET(DIVEQ); } -#line 4001 "" -yy341: ++YYCURSOR; + { RET(DIVEQ); } +#line 4255 "" +yy341: + ++YYCURSOR; goto yy342; yy342: #line 119 "cmmap.re" -{ goto comment; } -#line 4007 "" + { goto comment; } +#line 4262 "" } #line 228 "cmmap.re" comment: -#line 4014 "" +#line 4269 "" { YYCTYPE yych; goto yy343; @@ -4211,33 +4466,37 @@ yy343: case '*': goto yy345; default: goto yy349; } -yy345: ++YYCURSOR; +yy345: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '/': goto yy350; default: goto yy346; } yy346: #line 239 "cmmap.re" -{ goto comment; } -#line 4035 "" -yy347: ++YYCURSOR; + { goto comment; } +#line 4291 "" +yy347: + ++YYCURSOR; goto yy348; yy348: #line 234 "cmmap.re" -{ + { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } -#line 4045 "" -yy349: yych = *++YYCURSOR; +#line 4302 "" +yy349: + yych = *++YYCURSOR; goto yy346; -yy350: ++YYCURSOR; +yy350: + ++YYCURSOR; goto yy351; yy351: #line 232 "cmmap.re" -{ goto std; } -#line 4053 "" + { goto std; } +#line 4312 "" } #line 240 "cmmap.re" diff --git a/test/cnokw.c b/test/cnokw.c index f671da0d..36f75219 100644 --- a/test/cnokw.c +++ b/test/cnokw.c @@ -232,7 +232,8 @@ yy0: case '~': goto yy54; default: goto yy62; } -yy2: ++YYCURSOR; +yy2: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '*': goto yy168; case '=': goto yy166; @@ -240,16 +241,18 @@ yy2: ++YYCURSOR; } yy3: #line 189 "cnokw.re" -{ RET('/'); } -#line 241 "" -yy4: ++YYCURSOR; + { RET('/'); } +#line 242 "" +yy4: + ++YYCURSOR; yych = *YYCURSOR; goto yy165; yy5: #line 138 "cnokw.re" -{ RET(ID); } -#line 248 "" -yy6: yyaccept = 0; + { RET(ID); } +#line 250 "" +yy6: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 'L': @@ -262,12 +265,14 @@ yy6: yyaccept = 0; } yy7: #line 142 "cnokw.re" -{ RET(ICON); } -#line 259 "" -yy8: yyaccept = 0; + { RET(ICON); } +#line 262 "" +yy8: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy138; -yy9: yyaccept = 1; +yy9: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy10; @@ -275,12 +280,13 @@ yy9: yyaccept = 1; } yy10: #line 208 "cnokw.re" -{ + { printf("unexpected character: %c\n", *s->tok); goto std; } -#line 275 "" -yy11: yyaccept = 2; +#line 280 "" +yy11: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case '.': goto yy116; @@ -298,15 +304,17 @@ yy11: yyaccept = 2; } yy12: #line 182 "cnokw.re" -{ RET('.'); } -#line 295 "" -yy13: yyaccept = 1; + { RET('.'); } +#line 301 "" +yy13: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy10; default: goto yy106; } -yy14: ++YYCURSOR; +yy14: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy99; case '>': goto yy101; @@ -314,9 +322,10 @@ yy14: ++YYCURSOR; } yy15: #line 192 "cnokw.re" -{ RET('>'); } -#line 311 "" -yy16: ++YYCURSOR; + { RET('>'); } +#line 319 "" +yy16: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '<': goto yy95; case '=': goto yy93; @@ -324,9 +333,10 @@ yy16: ++YYCURSOR; } yy17: #line 191 "cnokw.re" -{ RET('<'); } -#line 321 "" -yy18: ++YYCURSOR; + { RET('<'); } +#line 330 "" +yy18: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '+': goto yy89; case '=': goto yy91; @@ -334,9 +344,10 @@ yy18: ++YYCURSOR; } yy19: #line 187 "cnokw.re" -{ RET('+'); } -#line 331 "" -yy20: ++YYCURSOR; + { RET('+'); } +#line 341 "" +yy20: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '-': goto yy85; case '=': goto yy87; @@ -345,27 +356,30 @@ yy20: ++YYCURSOR; } yy21: #line 186 "cnokw.re" -{ RET('-'); } -#line 342 "" -yy22: ++YYCURSOR; + { RET('-'); } +#line 353 "" +yy22: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy81; default: goto yy23; } yy23: #line 188 "cnokw.re" -{ RET('*'); } -#line 351 "" -yy24: ++YYCURSOR; + { RET('*'); } +#line 363 "" +yy24: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy79; default: goto yy25; } yy25: #line 190 "cnokw.re" -{ RET('%'); } -#line 360 "" -yy26: ++YYCURSOR; + { RET('%'); } +#line 373 "" +yy26: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '&': goto yy75; case '=': goto yy77; @@ -373,18 +387,20 @@ yy26: ++YYCURSOR; } yy27: #line 183 "cnokw.re" -{ RET('&'); } -#line 370 "" -yy28: ++YYCURSOR; + { RET('&'); } +#line 384 "" +yy28: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy73; default: goto yy29; } yy29: #line 193 "cnokw.re" -{ RET('^'); } -#line 379 "" -yy30: ++YYCURSOR; + { RET('^'); } +#line 394 "" +yy30: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy71; case '|': goto yy69; @@ -392,266 +408,308 @@ yy30: ++YYCURSOR; } yy31: #line 194 "cnokw.re" -{ RET('|'); } -#line 389 "" -yy32: ++YYCURSOR; + { RET('|'); } +#line 405 "" +yy32: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy67; default: goto yy33; } yy33: #line 177 "cnokw.re" -{ RET('='); } -#line 398 "" -yy34: ++YYCURSOR; + { RET('='); } +#line 415 "" +yy34: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy65; default: goto yy35; } yy35: #line 184 "cnokw.re" -{ RET('!'); } -#line 407 "" -yy36: ++YYCURSOR; + { RET('!'); } +#line 425 "" +yy36: + ++YYCURSOR; goto yy37; yy37: #line 172 "cnokw.re" -{ RET(';'); } -#line 413 "" -yy38: ++YYCURSOR; + { RET(';'); } +#line 432 "" +yy38: + ++YYCURSOR; goto yy39; yy39: #line 173 "cnokw.re" -{ RET('{'); } -#line 419 "" -yy40: ++YYCURSOR; + { RET('{'); } +#line 439 "" +yy40: + ++YYCURSOR; goto yy41; yy41: #line 174 "cnokw.re" -{ RET('}'); } -#line 425 "" -yy42: ++YYCURSOR; + { RET('}'); } +#line 446 "" +yy42: + ++YYCURSOR; goto yy43; yy43: #line 175 "cnokw.re" -{ RET(','); } -#line 431 "" -yy44: ++YYCURSOR; + { RET(','); } +#line 453 "" +yy44: + ++YYCURSOR; goto yy45; yy45: #line 176 "cnokw.re" -{ RET(':'); } -#line 437 "" -yy46: ++YYCURSOR; + { RET(':'); } +#line 460 "" +yy46: + ++YYCURSOR; goto yy47; yy47: #line 178 "cnokw.re" -{ RET('('); } -#line 443 "" -yy48: ++YYCURSOR; + { RET('('); } +#line 467 "" +yy48: + ++YYCURSOR; goto yy49; yy49: #line 179 "cnokw.re" -{ RET(')'); } -#line 449 "" -yy50: ++YYCURSOR; + { RET(')'); } +#line 474 "" +yy50: + ++YYCURSOR; goto yy51; yy51: #line 180 "cnokw.re" -{ RET('['); } -#line 455 "" -yy52: ++YYCURSOR; + { RET('['); } +#line 481 "" +yy52: + ++YYCURSOR; goto yy53; yy53: #line 181 "cnokw.re" -{ RET(']'); } -#line 461 "" -yy54: ++YYCURSOR; + { RET(']'); } +#line 488 "" +yy54: + ++YYCURSOR; goto yy55; yy55: #line 185 "cnokw.re" -{ RET('~'); } -#line 467 "" -yy56: ++YYCURSOR; + { RET('~'); } +#line 495 "" +yy56: + ++YYCURSOR; goto yy57; yy57: #line 195 "cnokw.re" -{ RET('?'); } -#line 473 "" -yy58: ++YYCURSOR; + { RET('?'); } +#line 502 "" +yy58: + ++YYCURSOR; yych = *YYCURSOR; goto yy64; yy59: #line 198 "cnokw.re" -{ goto std; } -#line 480 "" -yy60: ++YYCURSOR; + { goto std; } +#line 510 "" +yy60: + ++YYCURSOR; goto yy61; yy61: #line 201 "cnokw.re" -{ + { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } -#line 490 "" -yy62: yych = *++YYCURSOR; +#line 521 "" +yy62: + yych = *++YYCURSOR; goto yy10; -yy63: ++YYCURSOR; +yy63: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy64; -yy64: switch(yych){ +yy64: + switch(yych){ case 0x09: case 0x0B: case 0x0C: case ' ': goto yy63; default: goto yy59; } -yy65: ++YYCURSOR; +yy65: + ++YYCURSOR; goto yy66; yy66: #line 171 "cnokw.re" -{ RET(NEQ); } -#line 507 "" -yy67: ++YYCURSOR; + { RET(NEQ); } +#line 542 "" +yy67: + ++YYCURSOR; goto yy68; yy68: #line 170 "cnokw.re" -{ RET(EQL); } -#line 513 "" -yy69: ++YYCURSOR; + { RET(EQL); } +#line 549 "" +yy69: + ++YYCURSOR; goto yy70; yy70: #line 167 "cnokw.re" -{ RET(OROR); } -#line 519 "" -yy71: ++YYCURSOR; + { RET(OROR); } +#line 556 "" +yy71: + ++YYCURSOR; goto yy72; yy72: #line 160 "cnokw.re" -{ RET(OREQ); } -#line 525 "" -yy73: ++YYCURSOR; + { RET(OREQ); } +#line 563 "" +yy73: + ++YYCURSOR; goto yy74; yy74: #line 159 "cnokw.re" -{ RET(XOREQ); } -#line 531 "" -yy75: ++YYCURSOR; + { RET(XOREQ); } +#line 570 "" +yy75: + ++YYCURSOR; goto yy76; yy76: #line 166 "cnokw.re" -{ RET(ANDAND); } -#line 537 "" -yy77: ++YYCURSOR; + { RET(ANDAND); } +#line 577 "" +yy77: + ++YYCURSOR; goto yy78; yy78: #line 158 "cnokw.re" -{ RET(ANDEQ); } -#line 543 "" -yy79: ++YYCURSOR; + { RET(ANDEQ); } +#line 584 "" +yy79: + ++YYCURSOR; goto yy80; yy80: #line 157 "cnokw.re" -{ RET(MODEQ); } -#line 549 "" -yy81: ++YYCURSOR; + { RET(MODEQ); } +#line 591 "" +yy81: + ++YYCURSOR; goto yy82; yy82: #line 155 "cnokw.re" -{ RET(MULEQ); } -#line 555 "" -yy83: ++YYCURSOR; + { RET(MULEQ); } +#line 598 "" +yy83: + ++YYCURSOR; goto yy84; yy84: #line 165 "cnokw.re" -{ RET(DEREF); } -#line 561 "" -yy85: ++YYCURSOR; + { RET(DEREF); } +#line 605 "" +yy85: + ++YYCURSOR; goto yy86; yy86: #line 164 "cnokw.re" -{ RET(DECR); } -#line 567 "" -yy87: ++YYCURSOR; + { RET(DECR); } +#line 612 "" +yy87: + ++YYCURSOR; goto yy88; yy88: #line 154 "cnokw.re" -{ RET(SUBEQ); } -#line 573 "" -yy89: ++YYCURSOR; + { RET(SUBEQ); } +#line 619 "" +yy89: + ++YYCURSOR; goto yy90; yy90: #line 163 "cnokw.re" -{ RET(INCR); } -#line 579 "" -yy91: ++YYCURSOR; + { RET(INCR); } +#line 626 "" +yy91: + ++YYCURSOR; goto yy92; yy92: #line 153 "cnokw.re" -{ RET(ADDEQ); } -#line 585 "" -yy93: ++YYCURSOR; + { RET(ADDEQ); } +#line 633 "" +yy93: + ++YYCURSOR; goto yy94; yy94: #line 168 "cnokw.re" -{ RET(LEQ); } -#line 591 "" -yy95: ++YYCURSOR; + { RET(LEQ); } +#line 640 "" +yy95: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy97; default: goto yy96; } yy96: #line 162 "cnokw.re" -{ RET(LSHIFT); } -#line 600 "" -yy97: ++YYCURSOR; + { RET(LSHIFT); } +#line 650 "" +yy97: + ++YYCURSOR; goto yy98; yy98: #line 152 "cnokw.re" -{ RET(LSHIFTEQ); } -#line 606 "" -yy99: ++YYCURSOR; + { RET(LSHIFTEQ); } +#line 657 "" +yy99: + ++YYCURSOR; goto yy100; yy100: #line 169 "cnokw.re" -{ RET(GEQ); } -#line 612 "" -yy101: ++YYCURSOR; + { RET(GEQ); } +#line 664 "" +yy101: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy103; default: goto yy102; } yy102: #line 161 "cnokw.re" -{ RET(RSHIFT); } -#line 621 "" -yy103: ++YYCURSOR; + { RET(RSHIFT); } +#line 674 "" +yy103: + ++YYCURSOR; goto yy104; yy104: #line 151 "cnokw.re" -{ RET(RSHIFTEQ); } -#line 627 "" -yy105: ++YYCURSOR; + { RET(RSHIFTEQ); } +#line 681 "" +yy105: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy106; -yy106: switch(yych){ +yy106: + switch(yych){ case 0x0A: goto yy107; case '"': goto yy109; case '\\': goto yy108; default: goto yy105; } -yy107: YYCURSOR = YYMARKER; +yy107: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy7; case 3: goto yy119; case 2: goto yy12; case 1: goto yy10; } -yy108: ++YYCURSOR; +yy108: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -677,13 +735,15 @@ yy108: ++YYCURSOR; case 'x': goto yy111; default: goto yy107; } -yy109: ++YYCURSOR; +yy109: + ++YYCURSOR; goto yy110; yy110: #line 148 "cnokw.re" -{ RET(SCON); } -#line 667 "" -yy111: ++YYCURSOR; + { RET(SCON); } +#line 726 "" +yy111: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -711,11 +771,13 @@ yy111: ++YYCURSOR; case 'f': goto yy114; default: goto yy107; } -yy112: ++YYCURSOR; +yy112: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy113; -yy113: switch(yych){ +yy113: + switch(yych){ case 0x0A: goto yy107; case '"': goto yy109; case '0': @@ -729,11 +791,13 @@ yy113: switch(yych){ case '\\': goto yy108; default: goto yy105; } -yy114: ++YYCURSOR; +yy114: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy115; -yy115: switch(yych){ +yy115: + switch(yych){ case 0x0A: goto yy107; case '"': goto yy109; case '0': @@ -761,17 +825,20 @@ yy115: switch(yych){ case '\\': goto yy108; default: goto yy105; } -yy116: yych = *++YYCURSOR; +yy116: + yych = *++YYCURSOR; switch(yych){ case '.': goto yy125; default: goto yy107; } -yy117: yyaccept = 3; +yy117: + yyaccept = 3; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; goto yy118; -yy118: switch(yych){ +yy118: + switch(yych){ case '0': case '1': case '2': @@ -792,9 +859,10 @@ yy118: switch(yych){ } yy119: #line 145 "cnokw.re" -{ RET(FCON); } -#line 770 "" -yy120: yych = *++YYCURSOR; + { RET(FCON); } +#line 837 "" +yy120: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy122; @@ -810,9 +878,11 @@ yy120: yych = *++YYCURSOR; case '9': goto yy123; default: goto yy107; } -yy121: yych = *++YYCURSOR; +yy121: + yych = *++YYCURSOR; goto yy119; -yy122: yych = *++YYCURSOR; +yy122: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -826,11 +896,13 @@ yy122: yych = *++YYCURSOR; case '9': goto yy123; default: goto yy107; } -yy123: ++YYCURSOR; +yy123: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy124; -yy124: switch(yych){ +yy124: + switch(yych){ case '0': case '1': case '2': @@ -847,23 +919,27 @@ yy124: switch(yych){ case 'l': goto yy121; default: goto yy119; } -yy125: ++YYCURSOR; +yy125: + ++YYCURSOR; goto yy126; yy126: #line 150 "cnokw.re" -{ RET(ELLIPSIS); } -#line 825 "" -yy127: ++YYCURSOR; + { RET(ELLIPSIS); } +#line 898 "" +yy127: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy128; -yy128: switch(yych){ +yy128: + switch(yych){ case 0x0A: goto yy107; case '\'': goto yy130; case '\\': goto yy129; default: goto yy127; } -yy129: ++YYCURSOR; +yy129: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -889,9 +965,11 @@ yy129: ++YYCURSOR; case 'x': goto yy131; default: goto yy107; } -yy130: yych = *++YYCURSOR; +yy130: + yych = *++YYCURSOR; goto yy7; -yy131: ++YYCURSOR; +yy131: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -919,11 +997,13 @@ yy131: ++YYCURSOR; case 'f': goto yy134; default: goto yy107; } -yy132: ++YYCURSOR; +yy132: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy133; -yy133: switch(yych){ +yy133: + switch(yych){ case 0x0A: goto yy107; case '\'': goto yy130; case '0': @@ -937,11 +1017,13 @@ yy133: switch(yych){ case '\\': goto yy129; default: goto yy127; } -yy134: ++YYCURSOR; +yy134: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy135; -yy135: switch(yych){ +yy135: + switch(yych){ case 0x0A: goto yy107; case '\'': goto yy130; case '0': @@ -969,19 +1051,22 @@ yy135: switch(yych){ case '\\': goto yy129; default: goto yy127; } -yy136: yyaccept = 3; +yy136: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 'E': case 'e': goto yy147; default: goto yy146; } -yy137: yyaccept = 0; +yy137: + yyaccept = 0; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; goto yy138; -yy138: switch(yych){ +yy138: + switch(yych){ case '.': goto yy136; case '0': case '1': @@ -1001,7 +1086,8 @@ yy138: switch(yych){ case 'u': goto yy140; default: goto yy7; } -yy139: yych = *++YYCURSOR; +yy139: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy142; @@ -1017,18 +1103,21 @@ yy139: yych = *++YYCURSOR; case '9': goto yy143; default: goto yy107; } -yy140: ++YYCURSOR; +yy140: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy141; -yy141: switch(yych){ +yy141: + switch(yych){ case 'L': case 'U': case 'l': case 'u': goto yy140; default: goto yy7; } -yy142: yych = *++YYCURSOR; +yy142: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -1042,11 +1131,13 @@ yy142: yych = *++YYCURSOR; case '9': goto yy143; default: goto yy107; } -yy143: ++YYCURSOR; +yy143: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy144; -yy144: switch(yych){ +yy144: + switch(yych){ case '0': case '1': case '2': @@ -1063,12 +1154,14 @@ yy144: switch(yych){ case 'l': goto yy121; default: goto yy119; } -yy145: yyaccept = 3; +yy145: + yyaccept = 3; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; goto yy146; -yy146: switch(yych){ +yy146: + switch(yych){ case '0': case '1': case '2': @@ -1087,7 +1180,8 @@ yy146: switch(yych){ case 'l': goto yy121; default: goto yy119; } -yy147: yych = *++YYCURSOR; +yy147: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy148; @@ -1103,7 +1197,8 @@ yy147: yych = *++YYCURSOR; case '9': goto yy149; default: goto yy107; } -yy148: yych = *++YYCURSOR; +yy148: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -1117,11 +1212,13 @@ yy148: yych = *++YYCURSOR; case '9': goto yy149; default: goto yy107; } -yy149: ++YYCURSOR; +yy149: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy150; -yy150: switch(yych){ +yy150: + switch(yych){ case '0': case '1': case '2': @@ -1138,7 +1235,8 @@ yy150: switch(yych){ case 'l': goto yy121; default: goto yy119; } -yy151: yych = *++YYCURSOR; +yy151: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy152; @@ -1154,7 +1252,8 @@ yy151: yych = *++YYCURSOR; case '9': goto yy153; default: goto yy107; } -yy152: yych = *++YYCURSOR; +yy152: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -1168,11 +1267,13 @@ yy152: yych = *++YYCURSOR; case '9': goto yy153; default: goto yy107; } -yy153: ++YYCURSOR; +yy153: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy154; -yy154: switch(yych){ +yy154: + switch(yych){ case '0': case '1': case '2': @@ -1189,12 +1290,14 @@ yy154: switch(yych){ case 'l': goto yy121; default: goto yy119; } -yy155: yyaccept = 0; +yy155: + yyaccept = 0; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; goto yy156; -yy156: switch(yych){ +yy156: + switch(yych){ case '.': goto yy136; case '0': case '1': @@ -1214,7 +1317,8 @@ yy156: switch(yych){ case 'u': goto yy162; default: goto yy7; } -yy157: yych = *++YYCURSOR; +yy157: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -1240,11 +1344,13 @@ yy157: yych = *++YYCURSOR; case 'f': goto yy158; default: goto yy107; } -yy158: ++YYCURSOR; +yy158: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy159; -yy159: switch(yych){ +yy159: + switch(yych){ case '0': case '1': case '2': @@ -1273,33 +1379,39 @@ yy159: switch(yych){ case 'u': goto yy160; default: goto yy7; } -yy160: ++YYCURSOR; +yy160: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy161; -yy161: switch(yych){ +yy161: + switch(yych){ case 'L': case 'U': case 'l': case 'u': goto yy160; default: goto yy7; } -yy162: ++YYCURSOR; +yy162: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy163; -yy163: switch(yych){ +yy163: + switch(yych){ case 'L': case 'U': case 'l': case 'u': goto yy162; default: goto yy7; } -yy164: ++YYCURSOR; +yy164: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy165; -yy165: switch(yych){ +yy165: + switch(yych){ case '0': case '1': case '2': @@ -1365,25 +1477,27 @@ yy165: switch(yych){ case 'z': goto yy164; default: goto yy5; } -yy166: ++YYCURSOR; +yy166: + ++YYCURSOR; goto yy167; yy167: #line 156 "cnokw.re" -{ RET(DIVEQ); } -#line 1286 "" -yy168: ++YYCURSOR; + { RET(DIVEQ); } +#line 1399 "" +yy168: + ++YYCURSOR; goto yy169; yy169: #line 136 "cnokw.re" -{ goto comment; } -#line 1292 "" + { goto comment; } +#line 1406 "" } #line 212 "cnokw.re" comment: -#line 1299 "" +#line 1413 "" { YYCTYPE yych; goto yy170; @@ -1396,33 +1510,37 @@ yy170: case '*': goto yy172; default: goto yy176; } -yy172: ++YYCURSOR; +yy172: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '/': goto yy177; default: goto yy173; } yy173: #line 223 "cnokw.re" -{ goto comment; } -#line 1320 "" -yy174: ++YYCURSOR; + { goto comment; } +#line 1435 "" +yy174: + ++YYCURSOR; goto yy175; yy175: #line 218 "cnokw.re" -{ + { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } -#line 1330 "" -yy176: yych = *++YYCURSOR; +#line 1446 "" +yy176: + yych = *++YYCURSOR; goto yy173; -yy177: ++YYCURSOR; +yy177: + ++YYCURSOR; goto yy178; yy178: #line 216 "cnokw.re" -{ goto std; } -#line 1338 "" + { goto std; } +#line 1456 "" } #line 224 "cnokw.re" diff --git a/test/cunroll.c b/test/cunroll.c index af43bbd4..f6977e94 100644 --- a/test/cunroll.c +++ b/test/cunroll.c @@ -232,7 +232,8 @@ yy0: case '~': goto yy54; default: goto yy62; } -yy2: ++YYCURSOR; +yy2: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '*': goto yy183; case '=': goto yy181; @@ -240,9 +241,10 @@ yy2: ++YYCURSOR; } yy3: #line 200 "cunroll.re" -{ RET('/'); } -#line 241 "" -yy4: ++YYCURSOR; + { RET('/'); } +#line 242 "" +yy4: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -311,9 +313,10 @@ yy4: ++YYCURSOR; } yy5: #line 141 "cunroll.re" -{ RET(ID); } -#line 309 "" -yy6: yyaccept = 0; + { RET(ID); } +#line 311 "" +yy6: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 'L': @@ -326,12 +329,14 @@ yy6: yyaccept = 0; } yy7: #line 153 "cunroll.re" -{ RET(ICON); } -#line 320 "" -yy8: yyaccept = 0; + { RET(ICON); } +#line 323 "" +yy8: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy138; -yy9: yyaccept = 1; +yy9: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy10; @@ -339,12 +344,13 @@ yy9: yyaccept = 1; } yy10: #line 219 "cunroll.re" -{ + { printf("unexpected character: %c\n", *s->tok); goto std; } -#line 336 "" -yy11: yyaccept = 2; +#line 341 "" +yy11: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case '.': goto yy116; @@ -362,15 +368,17 @@ yy11: yyaccept = 2; } yy12: #line 193 "cunroll.re" -{ RET('.'); } -#line 356 "" -yy13: yyaccept = 1; + { RET('.'); } +#line 362 "" +yy13: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy10; default: goto yy106; } -yy14: ++YYCURSOR; +yy14: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy99; case '>': goto yy101; @@ -378,9 +386,10 @@ yy14: ++YYCURSOR; } yy15: #line 203 "cunroll.re" -{ RET('>'); } -#line 372 "" -yy16: ++YYCURSOR; + { RET('>'); } +#line 380 "" +yy16: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '<': goto yy95; case '=': goto yy93; @@ -388,9 +397,10 @@ yy16: ++YYCURSOR; } yy17: #line 202 "cunroll.re" -{ RET('<'); } -#line 382 "" -yy18: ++YYCURSOR; + { RET('<'); } +#line 391 "" +yy18: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '+': goto yy89; case '=': goto yy91; @@ -398,9 +408,10 @@ yy18: ++YYCURSOR; } yy19: #line 198 "cunroll.re" -{ RET('+'); } -#line 392 "" -yy20: ++YYCURSOR; + { RET('+'); } +#line 402 "" +yy20: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '-': goto yy85; case '=': goto yy87; @@ -409,27 +420,30 @@ yy20: ++YYCURSOR; } yy21: #line 197 "cunroll.re" -{ RET('-'); } -#line 403 "" -yy22: ++YYCURSOR; + { RET('-'); } +#line 414 "" +yy22: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy81; default: goto yy23; } yy23: #line 199 "cunroll.re" -{ RET('*'); } -#line 412 "" -yy24: ++YYCURSOR; + { RET('*'); } +#line 424 "" +yy24: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy79; default: goto yy25; } yy25: #line 201 "cunroll.re" -{ RET('%'); } -#line 421 "" -yy26: ++YYCURSOR; + { RET('%'); } +#line 434 "" +yy26: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '&': goto yy75; case '=': goto yy77; @@ -437,18 +451,20 @@ yy26: ++YYCURSOR; } yy27: #line 194 "cunroll.re" -{ RET('&'); } -#line 431 "" -yy28: ++YYCURSOR; + { RET('&'); } +#line 445 "" +yy28: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy73; default: goto yy29; } yy29: #line 204 "cunroll.re" -{ RET('^'); } -#line 440 "" -yy30: ++YYCURSOR; + { RET('^'); } +#line 455 "" +yy30: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy71; case '|': goto yy69; @@ -456,266 +472,308 @@ yy30: ++YYCURSOR; } yy31: #line 205 "cunroll.re" -{ RET('|'); } -#line 450 "" -yy32: ++YYCURSOR; + { RET('|'); } +#line 466 "" +yy32: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy67; default: goto yy33; } yy33: #line 188 "cunroll.re" -{ RET('='); } -#line 459 "" -yy34: ++YYCURSOR; + { RET('='); } +#line 476 "" +yy34: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy65; default: goto yy35; } yy35: #line 195 "cunroll.re" -{ RET('!'); } -#line 468 "" -yy36: ++YYCURSOR; + { RET('!'); } +#line 486 "" +yy36: + ++YYCURSOR; goto yy37; yy37: #line 183 "cunroll.re" -{ RET(';'); } -#line 474 "" -yy38: ++YYCURSOR; + { RET(';'); } +#line 493 "" +yy38: + ++YYCURSOR; goto yy39; yy39: #line 184 "cunroll.re" -{ RET('{'); } -#line 480 "" -yy40: ++YYCURSOR; + { RET('{'); } +#line 500 "" +yy40: + ++YYCURSOR; goto yy41; yy41: #line 185 "cunroll.re" -{ RET('}'); } -#line 486 "" -yy42: ++YYCURSOR; + { RET('}'); } +#line 507 "" +yy42: + ++YYCURSOR; goto yy43; yy43: #line 186 "cunroll.re" -{ RET(','); } -#line 492 "" -yy44: ++YYCURSOR; + { RET(','); } +#line 514 "" +yy44: + ++YYCURSOR; goto yy45; yy45: #line 187 "cunroll.re" -{ RET(':'); } -#line 498 "" -yy46: ++YYCURSOR; + { RET(':'); } +#line 521 "" +yy46: + ++YYCURSOR; goto yy47; yy47: #line 189 "cunroll.re" -{ RET('('); } -#line 504 "" -yy48: ++YYCURSOR; + { RET('('); } +#line 528 "" +yy48: + ++YYCURSOR; goto yy49; yy49: #line 190 "cunroll.re" -{ RET(')'); } -#line 510 "" -yy50: ++YYCURSOR; + { RET(')'); } +#line 535 "" +yy50: + ++YYCURSOR; goto yy51; yy51: #line 191 "cunroll.re" -{ RET('['); } -#line 516 "" -yy52: ++YYCURSOR; + { RET('['); } +#line 542 "" +yy52: + ++YYCURSOR; goto yy53; yy53: #line 192 "cunroll.re" -{ RET(']'); } -#line 522 "" -yy54: ++YYCURSOR; + { RET(']'); } +#line 549 "" +yy54: + ++YYCURSOR; goto yy55; yy55: #line 196 "cunroll.re" -{ RET('~'); } -#line 528 "" -yy56: ++YYCURSOR; + { RET('~'); } +#line 556 "" +yy56: + ++YYCURSOR; goto yy57; yy57: #line 206 "cunroll.re" -{ RET('?'); } -#line 534 "" -yy58: ++YYCURSOR; + { RET('?'); } +#line 563 "" +yy58: + ++YYCURSOR; yych = *YYCURSOR; goto yy64; yy59: #line 209 "cunroll.re" -{ goto std; } -#line 541 "" -yy60: ++YYCURSOR; + { goto std; } +#line 571 "" +yy60: + ++YYCURSOR; goto yy61; yy61: #line 212 "cunroll.re" -{ + { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } -#line 551 "" -yy62: yych = *++YYCURSOR; +#line 582 "" +yy62: + yych = *++YYCURSOR; goto yy10; -yy63: ++YYCURSOR; +yy63: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy64; -yy64: switch(yych){ +yy64: + switch(yych){ case 0x09: case 0x0B: case 0x0C: case ' ': goto yy63; default: goto yy59; } -yy65: ++YYCURSOR; +yy65: + ++YYCURSOR; goto yy66; yy66: #line 182 "cunroll.re" -{ RET(NEQ); } -#line 568 "" -yy67: ++YYCURSOR; + { RET(NEQ); } +#line 603 "" +yy67: + ++YYCURSOR; goto yy68; yy68: #line 181 "cunroll.re" -{ RET(EQL); } -#line 574 "" -yy69: ++YYCURSOR; + { RET(EQL); } +#line 610 "" +yy69: + ++YYCURSOR; goto yy70; yy70: #line 178 "cunroll.re" -{ RET(OROR); } -#line 580 "" -yy71: ++YYCURSOR; + { RET(OROR); } +#line 617 "" +yy71: + ++YYCURSOR; goto yy72; yy72: #line 171 "cunroll.re" -{ RET(OREQ); } -#line 586 "" -yy73: ++YYCURSOR; + { RET(OREQ); } +#line 624 "" +yy73: + ++YYCURSOR; goto yy74; yy74: #line 170 "cunroll.re" -{ RET(XOREQ); } -#line 592 "" -yy75: ++YYCURSOR; + { RET(XOREQ); } +#line 631 "" +yy75: + ++YYCURSOR; goto yy76; yy76: #line 177 "cunroll.re" -{ RET(ANDAND); } -#line 598 "" -yy77: ++YYCURSOR; + { RET(ANDAND); } +#line 638 "" +yy77: + ++YYCURSOR; goto yy78; yy78: #line 169 "cunroll.re" -{ RET(ANDEQ); } -#line 604 "" -yy79: ++YYCURSOR; + { RET(ANDEQ); } +#line 645 "" +yy79: + ++YYCURSOR; goto yy80; yy80: #line 168 "cunroll.re" -{ RET(MODEQ); } -#line 610 "" -yy81: ++YYCURSOR; + { RET(MODEQ); } +#line 652 "" +yy81: + ++YYCURSOR; goto yy82; yy82: #line 166 "cunroll.re" -{ RET(MULEQ); } -#line 616 "" -yy83: ++YYCURSOR; + { RET(MULEQ); } +#line 659 "" +yy83: + ++YYCURSOR; goto yy84; yy84: #line 176 "cunroll.re" -{ RET(DEREF); } -#line 622 "" -yy85: ++YYCURSOR; + { RET(DEREF); } +#line 666 "" +yy85: + ++YYCURSOR; goto yy86; yy86: #line 175 "cunroll.re" -{ RET(DECR); } -#line 628 "" -yy87: ++YYCURSOR; + { RET(DECR); } +#line 673 "" +yy87: + ++YYCURSOR; goto yy88; yy88: #line 165 "cunroll.re" -{ RET(SUBEQ); } -#line 634 "" -yy89: ++YYCURSOR; + { RET(SUBEQ); } +#line 680 "" +yy89: + ++YYCURSOR; goto yy90; yy90: #line 174 "cunroll.re" -{ RET(INCR); } -#line 640 "" -yy91: ++YYCURSOR; + { RET(INCR); } +#line 687 "" +yy91: + ++YYCURSOR; goto yy92; yy92: #line 164 "cunroll.re" -{ RET(ADDEQ); } -#line 646 "" -yy93: ++YYCURSOR; + { RET(ADDEQ); } +#line 694 "" +yy93: + ++YYCURSOR; goto yy94; yy94: #line 179 "cunroll.re" -{ RET(LEQ); } -#line 652 "" -yy95: ++YYCURSOR; + { RET(LEQ); } +#line 701 "" +yy95: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy97; default: goto yy96; } yy96: #line 173 "cunroll.re" -{ RET(LSHIFT); } -#line 661 "" -yy97: ++YYCURSOR; + { RET(LSHIFT); } +#line 711 "" +yy97: + ++YYCURSOR; goto yy98; yy98: #line 163 "cunroll.re" -{ RET(LSHIFTEQ); } -#line 667 "" -yy99: ++YYCURSOR; + { RET(LSHIFTEQ); } +#line 718 "" +yy99: + ++YYCURSOR; goto yy100; yy100: #line 180 "cunroll.re" -{ RET(GEQ); } -#line 673 "" -yy101: ++YYCURSOR; + { RET(GEQ); } +#line 725 "" +yy101: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy103; default: goto yy102; } yy102: #line 172 "cunroll.re" -{ RET(RSHIFT); } -#line 682 "" -yy103: ++YYCURSOR; + { RET(RSHIFT); } +#line 735 "" +yy103: + ++YYCURSOR; goto yy104; yy104: #line 162 "cunroll.re" -{ RET(RSHIFTEQ); } -#line 688 "" -yy105: ++YYCURSOR; + { RET(RSHIFTEQ); } +#line 742 "" +yy105: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy106; -yy106: switch(yych){ +yy106: + switch(yych){ case 0x0A: goto yy107; case '"': goto yy109; case '\\': goto yy108; default: goto yy105; } -yy107: YYCURSOR = YYMARKER; +yy107: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy7; case 3: goto yy119; case 2: goto yy12; case 1: goto yy10; } -yy108: ++YYCURSOR; +yy108: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -741,13 +799,15 @@ yy108: ++YYCURSOR; case 'x': goto yy111; default: goto yy107; } -yy109: ++YYCURSOR; +yy109: + ++YYCURSOR; goto yy110; yy110: #line 159 "cunroll.re" -{ RET(SCON); } -#line 728 "" -yy111: ++YYCURSOR; + { RET(SCON); } +#line 787 "" +yy111: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -775,11 +835,13 @@ yy111: ++YYCURSOR; case 'f': goto yy114; default: goto yy107; } -yy112: ++YYCURSOR; +yy112: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy113; -yy113: switch(yych){ +yy113: + switch(yych){ case 0x0A: goto yy107; case '"': goto yy109; case '0': @@ -793,11 +855,13 @@ yy113: switch(yych){ case '\\': goto yy108; default: goto yy105; } -yy114: ++YYCURSOR; +yy114: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy115; -yy115: switch(yych){ +yy115: + switch(yych){ case 0x0A: goto yy107; case '"': goto yy109; case '0': @@ -825,17 +889,20 @@ yy115: switch(yych){ case '\\': goto yy108; default: goto yy105; } -yy116: yych = *++YYCURSOR; +yy116: + yych = *++YYCURSOR; switch(yych){ case '.': goto yy125; default: goto yy107; } -yy117: yyaccept = 3; +yy117: + yyaccept = 3; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; goto yy118; -yy118: switch(yych){ +yy118: + switch(yych){ case '0': case '1': case '2': @@ -856,9 +923,10 @@ yy118: switch(yych){ } yy119: #line 156 "cunroll.re" -{ RET(FCON); } -#line 831 "" -yy120: yych = *++YYCURSOR; + { RET(FCON); } +#line 898 "" +yy120: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy122; @@ -874,9 +942,11 @@ yy120: yych = *++YYCURSOR; case '9': goto yy123; default: goto yy107; } -yy121: yych = *++YYCURSOR; +yy121: + yych = *++YYCURSOR; goto yy119; -yy122: yych = *++YYCURSOR; +yy122: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -890,11 +960,13 @@ yy122: yych = *++YYCURSOR; case '9': goto yy123; default: goto yy107; } -yy123: ++YYCURSOR; +yy123: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy124; -yy124: switch(yych){ +yy124: + switch(yych){ case '0': case '1': case '2': @@ -911,23 +983,27 @@ yy124: switch(yych){ case 'l': goto yy121; default: goto yy119; } -yy125: ++YYCURSOR; +yy125: + ++YYCURSOR; goto yy126; yy126: #line 161 "cunroll.re" -{ RET(ELLIPSIS); } -#line 886 "" -yy127: ++YYCURSOR; + { RET(ELLIPSIS); } +#line 959 "" +yy127: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy128; -yy128: switch(yych){ +yy128: + switch(yych){ case 0x0A: goto yy107; case '\'': goto yy130; case '\\': goto yy129; default: goto yy127; } -yy129: ++YYCURSOR; +yy129: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -953,9 +1029,11 @@ yy129: ++YYCURSOR; case 'x': goto yy131; default: goto yy107; } -yy130: yych = *++YYCURSOR; +yy130: + yych = *++YYCURSOR; goto yy7; -yy131: ++YYCURSOR; +yy131: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -983,11 +1061,13 @@ yy131: ++YYCURSOR; case 'f': goto yy134; default: goto yy107; } -yy132: ++YYCURSOR; +yy132: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy133; -yy133: switch(yych){ +yy133: + switch(yych){ case 0x0A: goto yy107; case '\'': goto yy130; case '0': @@ -1001,11 +1081,13 @@ yy133: switch(yych){ case '\\': goto yy129; default: goto yy127; } -yy134: ++YYCURSOR; +yy134: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy135; -yy135: switch(yych){ +yy135: + switch(yych){ case 0x0A: goto yy107; case '\'': goto yy130; case '0': @@ -1033,19 +1115,22 @@ yy135: switch(yych){ case '\\': goto yy129; default: goto yy127; } -yy136: yyaccept = 3; +yy136: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 'E': case 'e': goto yy147; default: goto yy146; } -yy137: yyaccept = 0; +yy137: + yyaccept = 0; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; goto yy138; -yy138: switch(yych){ +yy138: + switch(yych){ case '.': goto yy136; case '0': case '1': @@ -1065,7 +1150,8 @@ yy138: switch(yych){ case 'u': goto yy140; default: goto yy7; } -yy139: yych = *++YYCURSOR; +yy139: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy142; @@ -1081,18 +1167,21 @@ yy139: yych = *++YYCURSOR; case '9': goto yy143; default: goto yy107; } -yy140: ++YYCURSOR; +yy140: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy141; -yy141: switch(yych){ +yy141: + switch(yych){ case 'L': case 'U': case 'l': case 'u': goto yy140; default: goto yy7; } -yy142: yych = *++YYCURSOR; +yy142: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -1106,11 +1195,13 @@ yy142: yych = *++YYCURSOR; case '9': goto yy143; default: goto yy107; } -yy143: ++YYCURSOR; +yy143: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy144; -yy144: switch(yych){ +yy144: + switch(yych){ case '0': case '1': case '2': @@ -1127,12 +1218,14 @@ yy144: switch(yych){ case 'l': goto yy121; default: goto yy119; } -yy145: yyaccept = 3; +yy145: + yyaccept = 3; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; goto yy146; -yy146: switch(yych){ +yy146: + switch(yych){ case '0': case '1': case '2': @@ -1151,7 +1244,8 @@ yy146: switch(yych){ case 'l': goto yy121; default: goto yy119; } -yy147: yych = *++YYCURSOR; +yy147: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy148; @@ -1167,7 +1261,8 @@ yy147: yych = *++YYCURSOR; case '9': goto yy149; default: goto yy107; } -yy148: yych = *++YYCURSOR; +yy148: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -1181,11 +1276,13 @@ yy148: yych = *++YYCURSOR; case '9': goto yy149; default: goto yy107; } -yy149: ++YYCURSOR; +yy149: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy150; -yy150: switch(yych){ +yy150: + switch(yych){ case '0': case '1': case '2': @@ -1202,7 +1299,8 @@ yy150: switch(yych){ case 'l': goto yy121; default: goto yy119; } -yy151: yych = *++YYCURSOR; +yy151: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy152; @@ -1218,7 +1316,8 @@ yy151: yych = *++YYCURSOR; case '9': goto yy153; default: goto yy107; } -yy152: yych = *++YYCURSOR; +yy152: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -1232,11 +1331,13 @@ yy152: yych = *++YYCURSOR; case '9': goto yy153; default: goto yy107; } -yy153: ++YYCURSOR; +yy153: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy154; -yy154: switch(yych){ +yy154: + switch(yych){ case '0': case '1': case '2': @@ -1253,12 +1354,14 @@ yy154: switch(yych){ case 'l': goto yy121; default: goto yy119; } -yy155: yyaccept = 0; +yy155: + yyaccept = 0; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; goto yy156; -yy156: switch(yych){ +yy156: + switch(yych){ case '.': goto yy136; case '0': case '1': @@ -1278,7 +1381,8 @@ yy156: switch(yych){ case 'u': goto yy162; default: goto yy7; } -yy157: yych = *++YYCURSOR; +yy157: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -1304,11 +1408,13 @@ yy157: yych = *++YYCURSOR; case 'f': goto yy158; default: goto yy107; } -yy158: ++YYCURSOR; +yy158: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy159; -yy159: switch(yych){ +yy159: + switch(yych){ case '0': case '1': case '2': @@ -1337,29 +1443,34 @@ yy159: switch(yych){ case 'u': goto yy160; default: goto yy7; } -yy160: ++YYCURSOR; +yy160: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy161; -yy161: switch(yych){ +yy161: + switch(yych){ case 'L': case 'U': case 'l': case 'u': goto yy160; default: goto yy7; } -yy162: ++YYCURSOR; +yy162: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy163; -yy163: switch(yych){ +yy163: + switch(yych){ case 'L': case 'U': case 'l': case 'u': goto yy162; default: goto yy7; } -yy164: ++YYCURSOR; +yy164: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1428,9 +1539,10 @@ yy164: ++YYCURSOR; } yy165: #line 142 "cunroll.re" -{ RET(ID); } -#line 1342 "" -yy166: ++YYCURSOR; + { RET(ID); } +#line 1453 "" +yy166: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1499,9 +1611,10 @@ yy166: ++YYCURSOR; } yy167: #line 143 "cunroll.re" -{ RET(ID); } -#line 1410 "" -yy168: ++YYCURSOR; + { RET(ID); } +#line 1522 "" +yy168: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1570,9 +1683,10 @@ yy168: ++YYCURSOR; } yy169: #line 144 "cunroll.re" -{ RET(ID); } -#line 1478 "" -yy170: ++YYCURSOR; + { RET(ID); } +#line 1591 "" +yy170: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1641,9 +1755,10 @@ yy170: ++YYCURSOR; } yy171: #line 145 "cunroll.re" -{ RET(ID); } -#line 1546 "" -yy172: ++YYCURSOR; + { RET(ID); } +#line 1660 "" +yy172: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1712,9 +1827,10 @@ yy172: ++YYCURSOR; } yy173: #line 146 "cunroll.re" -{ RET(ID); } -#line 1614 "" -yy174: ++YYCURSOR; + { RET(ID); } +#line 1729 "" +yy174: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1783,9 +1899,10 @@ yy174: ++YYCURSOR; } yy175: #line 147 "cunroll.re" -{ RET(ID); } -#line 1682 "" -yy176: ++YYCURSOR; + { RET(ID); } +#line 1798 "" +yy176: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1854,13 +1971,15 @@ yy176: ++YYCURSOR; } yy177: #line 148 "cunroll.re" -{ RET(ID); } -#line 1750 "" -yy178: ++YYCURSOR; + { RET(ID); } +#line 1867 "" +yy178: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy179; -yy179: switch(yych){ +yy179: + switch(yych){ case '0': case '1': case '2': @@ -1928,27 +2047,29 @@ yy179: switch(yych){ } yy180: #line 149 "cunroll.re" -{ RET(ID); } -#line 1821 "" -yy181: ++YYCURSOR; + { RET(ID); } +#line 1940 "" +yy181: + ++YYCURSOR; goto yy182; yy182: #line 167 "cunroll.re" -{ RET(DIVEQ); } -#line 1827 "" -yy183: ++YYCURSOR; + { RET(DIVEQ); } +#line 1947 "" +yy183: + ++YYCURSOR; goto yy184; yy184: #line 138 "cunroll.re" -{ goto comment; } -#line 1833 "" + { goto comment; } +#line 1954 "" } #line 223 "cunroll.re" comment: -#line 1840 "" +#line 1961 "" { YYCTYPE yych; goto yy185; @@ -1962,16 +2083,18 @@ yy185: case '/': goto yy193; default: goto yy191; } -yy187: ++YYCURSOR; +yy187: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '/': goto yy208; default: goto yy188; } yy188: #line 242 "cunroll.re" -{ goto comment; } -#line 1862 "" -yy189: ++YYCURSOR; + { goto comment; } +#line 1984 "" +yy189: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '*': case '/': goto yy190; @@ -1979,13 +2102,14 @@ yy189: ++YYCURSOR; } yy190: #line 229 "cunroll.re" -{ + { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } -#line 1875 "" -yy191: ++YYCURSOR; +#line 1998 "" +yy191: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '*': case '/': goto yy192; @@ -1993,11 +2117,13 @@ yy191: ++YYCURSOR; } yy192: #line 234 "cunroll.re" -{ goto comment; } -#line 1884 "" -yy193: yych = *++YYCURSOR; + { goto comment; } +#line 2008 "" +yy193: + yych = *++YYCURSOR; goto yy188; -yy194: ++YYCURSOR; +yy194: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '*': case '/': goto yy195; @@ -2005,9 +2131,10 @@ yy194: ++YYCURSOR; } yy195: #line 235 "cunroll.re" -{ goto comment; } -#line 1895 "" -yy196: ++YYCURSOR; + { goto comment; } +#line 2021 "" +yy196: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '*': case '/': goto yy197; @@ -2015,9 +2142,10 @@ yy196: ++YYCURSOR; } yy197: #line 236 "cunroll.re" -{ goto comment; } -#line 1904 "" -yy198: ++YYCURSOR; + { goto comment; } +#line 2031 "" +yy198: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '*': case '/': goto yy199; @@ -2025,9 +2153,10 @@ yy198: ++YYCURSOR; } yy199: #line 237 "cunroll.re" -{ goto comment; } -#line 1913 "" -yy200: ++YYCURSOR; + { goto comment; } +#line 2041 "" +yy200: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '*': case '/': goto yy201; @@ -2035,9 +2164,10 @@ yy200: ++YYCURSOR; } yy201: #line 238 "cunroll.re" -{ goto comment; } -#line 1922 "" -yy202: ++YYCURSOR; + { goto comment; } +#line 2051 "" +yy202: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '*': case '/': goto yy203; @@ -2045,9 +2175,10 @@ yy202: ++YYCURSOR; } yy203: #line 239 "cunroll.re" -{ goto comment; } -#line 1931 "" -yy204: ++YYCURSOR; + { goto comment; } +#line 2061 "" +yy204: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '*': case '/': goto yy205; @@ -2055,20 +2186,22 @@ yy204: ++YYCURSOR; } yy205: #line 240 "cunroll.re" -{ goto comment; } -#line 1940 "" -yy206: ++YYCURSOR; + { goto comment; } +#line 2071 "" +yy206: + ++YYCURSOR; goto yy207; yy207: #line 241 "cunroll.re" -{ goto comment; } -#line 1946 "" -yy208: ++YYCURSOR; + { goto comment; } +#line 2078 "" +yy208: + ++YYCURSOR; goto yy209; yy209: #line 227 "cunroll.re" -{ goto std; } -#line 1952 "" + { goto std; } +#line 2085 "" } #line 243 "cunroll.re" diff --git a/test/cvsignore.b.c b/test/cvsignore.b.c index 3ce16f27..1d05994d 100755 --- a/test/cvsignore.b.c +++ b/test/cvsignore.b.c @@ -85,7 +85,8 @@ yy0: yych = *YYCURSOR; if(yych != '$') goto yy4; goto yy2; -yy2: yyaccept = 0; +yy2: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 'D': goto yy10; @@ -97,168 +98,213 @@ yy2: yyaccept = 0; } yy3: #line 53 "cvsignore.b.re" -{ output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } -#line 102 "" -yy4: yych = *++YYCURSOR; + { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } +#line 103 "" +yy4: + yych = *++YYCURSOR; goto yy3; -yy5: yych = *++YYCURSOR; +yy5: + yych = *++YYCURSOR; if(yych == 'o') goto yy44; goto yy6; -yy6: YYCURSOR = YYMARKER; +yy6: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy3; } -yy7: yych = *++YYCURSOR; +yy7: + yych = *++YYCURSOR; if(yych == 'e') goto yy32; goto yy6; -yy8: yych = *++YYCURSOR; +yy8: + yych = *++YYCURSOR; if(yych == 'o') goto yy25; goto yy6; -yy9: yych = *++YYCURSOR; +yy9: + yych = *++YYCURSOR; if(yych == 'd') goto yy19; goto yy6; -yy10: yych = *++YYCURSOR; +yy10: + yych = *++YYCURSOR; if(yych != 'a') goto yy6; goto yy11; -yy11: yych = *++YYCURSOR; +yy11: + yych = *++YYCURSOR; if(yych != 't') goto yy6; goto yy12; -yy12: yych = *++YYCURSOR; +yy12: + yych = *++YYCURSOR; if(yych != 'e') goto yy6; goto yy13; -yy13: yych = *++YYCURSOR; +yy13: + yych = *++YYCURSOR; if(yych == '$') goto yy15; if(yych != ':') goto yy6; goto yy14; -yy14: yych = *++YYCURSOR; +yy14: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy18; -yy15: ++YYCURSOR; +yy15: + ++YYCURSOR; goto yy16; yy16: #line 48 "cvsignore.b.re" -{ APPEND(L"$" L"Date$"); goto loop; } -#line 142 "" -yy17: ++YYCURSOR; + { APPEND(L"$" L"Date$"); goto loop; } +#line 155 "" +yy17: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy18; -yy18: if(yybm[0+yych] & 128) { +yy18: + if(yybm[0+yych] & 128) { goto yy17; } if(yych <= '#') goto yy6; goto yy15; -yy19: yych = *++YYCURSOR; +yy19: + yych = *++YYCURSOR; if(yych == '$') goto yy21; if(yych != ':') goto yy6; goto yy20; -yy20: yych = *++YYCURSOR; +yy20: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy24; -yy21: ++YYCURSOR; +yy21: + ++YYCURSOR; goto yy22; yy22: #line 49 "cvsignore.b.re" -{ APPEND(L"$" L"Id$"); goto loop; } -#line 164 "" -yy23: ++YYCURSOR; + { APPEND(L"$" L"Id$"); goto loop; } +#line 182 "" +yy23: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy24; -yy24: if(yych == 0x0A) goto yy6; +yy24: + if(yych == 0x0A) goto yy6; if(yych == '$') goto yy21; goto yy23; -yy25: yych = *++YYCURSOR; +yy25: + yych = *++YYCURSOR; if(yych != 'g') goto yy6; goto yy26; -yy26: yych = *++YYCURSOR; +yy26: + yych = *++YYCURSOR; if(yych == '$') goto yy28; if(yych != ':') goto yy6; goto yy27; -yy27: yych = *++YYCURSOR; +yy27: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy31; -yy28: ++YYCURSOR; +yy28: + ++YYCURSOR; goto yy29; yy29: #line 50 "cvsignore.b.re" -{ APPEND(L"$" L"Log$"); goto loop; } -#line 187 "" -yy30: ++YYCURSOR; + { APPEND(L"$" L"Log$"); goto loop; } +#line 211 "" +yy30: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy31; -yy31: if(yych == 0x0A) goto yy6; +yy31: + if(yych == 0x0A) goto yy6; if(yych == '$') goto yy28; goto yy30; -yy32: yych = *++YYCURSOR; +yy32: + yych = *++YYCURSOR; if(yych != 'v') goto yy6; goto yy33; -yy33: yych = *++YYCURSOR; +yy33: + yych = *++YYCURSOR; if(yych != 'i') goto yy6; goto yy34; -yy34: yych = *++YYCURSOR; +yy34: + yych = *++YYCURSOR; if(yych != 's') goto yy6; goto yy35; -yy35: yych = *++YYCURSOR; +yy35: + yych = *++YYCURSOR; if(yych != 'i') goto yy6; goto yy36; -yy36: yych = *++YYCURSOR; +yy36: + yych = *++YYCURSOR; if(yych != 'o') goto yy6; goto yy37; -yy37: yych = *++YYCURSOR; +yy37: + yych = *++YYCURSOR; if(yych != 'n') goto yy6; goto yy38; -yy38: yych = *++YYCURSOR; +yy38: + yych = *++YYCURSOR; if(yych == '$') goto yy40; if(yych != ':') goto yy6; goto yy39; -yy39: yych = *++YYCURSOR; +yy39: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy43; -yy40: ++YYCURSOR; +yy40: + ++YYCURSOR; goto yy41; yy41: #line 51 "cvsignore.b.re" -{ APPEND(L"$" L"Revision$"); goto loop; } -#line 225 "" -yy42: ++YYCURSOR; + { APPEND(L"$" L"Revision$"); goto loop; } +#line 260 "" +yy42: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy43; -yy43: if(yych == 0x0A) goto yy6; +yy43: + if(yych == 0x0A) goto yy6; if(yych == '$') goto yy40; goto yy42; -yy44: yych = *++YYCURSOR; +yy44: + yych = *++YYCURSOR; if(yych != 'u') goto yy6; goto yy45; -yy45: yych = *++YYCURSOR; +yy45: + yych = *++YYCURSOR; if(yych != 'r') goto yy6; goto yy46; -yy46: yych = *++YYCURSOR; +yy46: + yych = *++YYCURSOR; if(yych != 'c') goto yy6; goto yy47; -yy47: yych = *++YYCURSOR; +yy47: + yych = *++YYCURSOR; if(yych != 'e') goto yy6; goto yy48; -yy48: yych = *++YYCURSOR; +yy48: + yych = *++YYCURSOR; if(yych == '$') goto yy50; if(yych != ':') goto yy6; goto yy49; -yy49: yych = *++YYCURSOR; +yy49: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy53; -yy50: ++YYCURSOR; +yy50: + ++YYCURSOR; goto yy51; yy51: #line 52 "cvsignore.b.re" -{ APPEND(L"$" L"Source$"); goto loop; } -#line 257 "" -yy52: ++YYCURSOR; + { APPEND(L"$" L"Source$"); goto loop; } +#line 301 "" +yy52: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy53; -yy53: if(yych == 0x0A) goto yy6; +yy53: + if(yych == 0x0A) goto yy6; if(yych == '$') goto yy50; goto yy52; } diff --git a/test/cvsignore.c b/test/cvsignore.c index b27bf3e5..6897a1a8 100755 --- a/test/cvsignore.c +++ b/test/cvsignore.c @@ -52,7 +52,8 @@ yy0: case '$': goto yy2; default: goto yy4; } -yy2: yyaccept = 0; +yy2: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 'D': goto yy10; @@ -64,230 +65,275 @@ yy2: yyaccept = 0; } yy3: #line 53 "cvsignore.re" -{ output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } -#line 69 "" -yy4: yych = *++YYCURSOR; + { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } +#line 70 "" +yy4: + yych = *++YYCURSOR; goto yy3; -yy5: yych = *++YYCURSOR; +yy5: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy44; default: goto yy6; } -yy6: YYCURSOR = YYMARKER; +yy6: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy3; } -yy7: yych = *++YYCURSOR; +yy7: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy32; default: goto yy6; } -yy8: yych = *++YYCURSOR; +yy8: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy25; default: goto yy6; } -yy9: yych = *++YYCURSOR; +yy9: + yych = *++YYCURSOR; switch(yych){ case 'd': goto yy19; default: goto yy6; } -yy10: yych = *++YYCURSOR; +yy10: + yych = *++YYCURSOR; switch(yych){ case 'a': goto yy11; default: goto yy6; } -yy11: yych = *++YYCURSOR; +yy11: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy12; default: goto yy6; } -yy12: yych = *++YYCURSOR; +yy12: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy13; default: goto yy6; } -yy13: yych = *++YYCURSOR; +yy13: + yych = *++YYCURSOR; switch(yych){ case '$': goto yy15; case ':': goto yy14; default: goto yy6; } -yy14: yych = *++YYCURSOR; +yy14: + yych = *++YYCURSOR; switch(yych){ case '$': goto yy6; default: goto yy18; } -yy15: ++YYCURSOR; +yy15: + ++YYCURSOR; goto yy16; yy16: #line 48 "cvsignore.re" -{ APPEND(L"$" L"Date$"); goto loop; } -#line 127 "" -yy17: ++YYCURSOR; + { APPEND(L"$" L"Date$"); goto loop; } +#line 140 "" +yy17: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy18; -yy18: switch(yych){ +yy18: + switch(yych){ case 0x0A: goto yy6; case '$': goto yy15; default: goto yy17; } -yy19: yych = *++YYCURSOR; +yy19: + yych = *++YYCURSOR; switch(yych){ case '$': goto yy21; case ':': goto yy20; default: goto yy6; } -yy20: yych = *++YYCURSOR; +yy20: + yych = *++YYCURSOR; switch(yych){ case '$': goto yy6; default: goto yy24; } -yy21: ++YYCURSOR; +yy21: + ++YYCURSOR; goto yy22; yy22: #line 49 "cvsignore.re" -{ APPEND(L"$" L"Id$"); goto loop; } -#line 153 "" -yy23: ++YYCURSOR; + { APPEND(L"$" L"Id$"); goto loop; } +#line 171 "" +yy23: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy24; -yy24: switch(yych){ +yy24: + switch(yych){ case 0x0A: goto yy6; case '$': goto yy21; default: goto yy23; } -yy25: yych = *++YYCURSOR; +yy25: + yych = *++YYCURSOR; switch(yych){ case 'g': goto yy26; default: goto yy6; } -yy26: yych = *++YYCURSOR; +yy26: + yych = *++YYCURSOR; switch(yych){ case '$': goto yy28; case ':': goto yy27; default: goto yy6; } -yy27: yych = *++YYCURSOR; +yy27: + yych = *++YYCURSOR; switch(yych){ case '$': goto yy6; default: goto yy31; } -yy28: ++YYCURSOR; +yy28: + ++YYCURSOR; goto yy29; yy29: #line 50 "cvsignore.re" -{ APPEND(L"$" L"Log$"); goto loop; } -#line 184 "" -yy30: ++YYCURSOR; + { APPEND(L"$" L"Log$"); goto loop; } +#line 208 "" +yy30: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy31; -yy31: switch(yych){ +yy31: + switch(yych){ case 0x0A: goto yy6; case '$': goto yy28; default: goto yy30; } -yy32: yych = *++YYCURSOR; +yy32: + yych = *++YYCURSOR; switch(yych){ case 'v': goto yy33; default: goto yy6; } -yy33: yych = *++YYCURSOR; +yy33: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy34; default: goto yy6; } -yy34: yych = *++YYCURSOR; +yy34: + yych = *++YYCURSOR; switch(yych){ case 's': goto yy35; default: goto yy6; } -yy35: yych = *++YYCURSOR; +yy35: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy36; default: goto yy6; } -yy36: yych = *++YYCURSOR; +yy36: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy37; default: goto yy6; } -yy37: yych = *++YYCURSOR; +yy37: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy38; default: goto yy6; } -yy38: yych = *++YYCURSOR; +yy38: + yych = *++YYCURSOR; switch(yych){ case '$': goto yy40; case ':': goto yy39; default: goto yy6; } -yy39: yych = *++YYCURSOR; +yy39: + yych = *++YYCURSOR; switch(yych){ case '$': goto yy6; default: goto yy43; } -yy40: ++YYCURSOR; +yy40: + ++YYCURSOR; goto yy41; yy41: #line 51 "cvsignore.re" -{ APPEND(L"$" L"Revision$"); goto loop; } -#line 240 "" -yy42: ++YYCURSOR; + { APPEND(L"$" L"Revision$"); goto loop; } +#line 275 "" +yy42: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy43; -yy43: switch(yych){ +yy43: + switch(yych){ case 0x0A: goto yy6; case '$': goto yy40; default: goto yy42; } -yy44: yych = *++YYCURSOR; +yy44: + yych = *++YYCURSOR; switch(yych){ case 'u': goto yy45; default: goto yy6; } -yy45: yych = *++YYCURSOR; +yy45: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy46; default: goto yy6; } -yy46: yych = *++YYCURSOR; +yy46: + yych = *++YYCURSOR; switch(yych){ case 'c': goto yy47; default: goto yy6; } -yy47: yych = *++YYCURSOR; +yy47: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy48; default: goto yy6; } -yy48: yych = *++YYCURSOR; +yy48: + yych = *++YYCURSOR; switch(yych){ case '$': goto yy50; case ':': goto yy49; default: goto yy6; } -yy49: yych = *++YYCURSOR; +yy49: + yych = *++YYCURSOR; switch(yych){ case '$': goto yy6; default: goto yy53; } -yy50: ++YYCURSOR; +yy50: + ++YYCURSOR; goto yy51; yy51: #line 52 "cvsignore.re" -{ APPEND(L"$" L"Source$"); goto loop; } -#line 286 "" -yy52: ++YYCURSOR; + { APPEND(L"$" L"Source$"); goto loop; } +#line 330 "" +yy52: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy53; -yy53: switch(yych){ +yy53: + switch(yych){ case 0x0A: goto yy6; case '$': goto yy50; default: goto yy52; diff --git a/test/cvsignore.s.c b/test/cvsignore.s.c index 0d73f108..cf7a78bf 100755 --- a/test/cvsignore.s.c +++ b/test/cvsignore.s.c @@ -50,7 +50,8 @@ yy0: yych = *YYCURSOR; if(yych != '$') goto yy4; goto yy2; -yy2: yyaccept = 0; +yy2: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 'D': goto yy10; @@ -62,166 +63,211 @@ yy2: yyaccept = 0; } yy3: #line 53 "cvsignore.s.re" -{ output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } -#line 67 "" -yy4: yych = *++YYCURSOR; + { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } +#line 68 "" +yy4: + yych = *++YYCURSOR; goto yy3; -yy5: yych = *++YYCURSOR; +yy5: + yych = *++YYCURSOR; if(yych == 'o') goto yy44; goto yy6; -yy6: YYCURSOR = YYMARKER; +yy6: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy3; } -yy7: yych = *++YYCURSOR; +yy7: + yych = *++YYCURSOR; if(yych == 'e') goto yy32; goto yy6; -yy8: yych = *++YYCURSOR; +yy8: + yych = *++YYCURSOR; if(yych == 'o') goto yy25; goto yy6; -yy9: yych = *++YYCURSOR; +yy9: + yych = *++YYCURSOR; if(yych == 'd') goto yy19; goto yy6; -yy10: yych = *++YYCURSOR; +yy10: + yych = *++YYCURSOR; if(yych != 'a') goto yy6; goto yy11; -yy11: yych = *++YYCURSOR; +yy11: + yych = *++YYCURSOR; if(yych != 't') goto yy6; goto yy12; -yy12: yych = *++YYCURSOR; +yy12: + yych = *++YYCURSOR; if(yych != 'e') goto yy6; goto yy13; -yy13: yych = *++YYCURSOR; +yy13: + yych = *++YYCURSOR; if(yych == '$') goto yy15; if(yych != ':') goto yy6; goto yy14; -yy14: yych = *++YYCURSOR; +yy14: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy18; -yy15: ++YYCURSOR; +yy15: + ++YYCURSOR; goto yy16; yy16: #line 48 "cvsignore.s.re" -{ APPEND(L"$" L"Date$"); goto loop; } -#line 107 "" -yy17: ++YYCURSOR; + { APPEND(L"$" L"Date$"); goto loop; } +#line 120 "" +yy17: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy18; -yy18: if(yych == 0x0A) goto yy6; +yy18: + if(yych == 0x0A) goto yy6; if(yych == '$') goto yy15; goto yy17; -yy19: yych = *++YYCURSOR; +yy19: + yych = *++YYCURSOR; if(yych == '$') goto yy21; if(yych != ':') goto yy6; goto yy20; -yy20: yych = *++YYCURSOR; +yy20: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy24; -yy21: ++YYCURSOR; +yy21: + ++YYCURSOR; goto yy22; yy22: #line 49 "cvsignore.s.re" -{ APPEND(L"$" L"Id$"); goto loop; } -#line 127 "" -yy23: ++YYCURSOR; + { APPEND(L"$" L"Id$"); goto loop; } +#line 145 "" +yy23: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy24; -yy24: if(yych == 0x0A) goto yy6; +yy24: + if(yych == 0x0A) goto yy6; if(yych == '$') goto yy21; goto yy23; -yy25: yych = *++YYCURSOR; +yy25: + yych = *++YYCURSOR; if(yych != 'g') goto yy6; goto yy26; -yy26: yych = *++YYCURSOR; +yy26: + yych = *++YYCURSOR; if(yych == '$') goto yy28; if(yych != ':') goto yy6; goto yy27; -yy27: yych = *++YYCURSOR; +yy27: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy31; -yy28: ++YYCURSOR; +yy28: + ++YYCURSOR; goto yy29; yy29: #line 50 "cvsignore.s.re" -{ APPEND(L"$" L"Log$"); goto loop; } -#line 150 "" -yy30: ++YYCURSOR; + { APPEND(L"$" L"Log$"); goto loop; } +#line 174 "" +yy30: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy31; -yy31: if(yych == 0x0A) goto yy6; +yy31: + if(yych == 0x0A) goto yy6; if(yych == '$') goto yy28; goto yy30; -yy32: yych = *++YYCURSOR; +yy32: + yych = *++YYCURSOR; if(yych != 'v') goto yy6; goto yy33; -yy33: yych = *++YYCURSOR; +yy33: + yych = *++YYCURSOR; if(yych != 'i') goto yy6; goto yy34; -yy34: yych = *++YYCURSOR; +yy34: + yych = *++YYCURSOR; if(yych != 's') goto yy6; goto yy35; -yy35: yych = *++YYCURSOR; +yy35: + yych = *++YYCURSOR; if(yych != 'i') goto yy6; goto yy36; -yy36: yych = *++YYCURSOR; +yy36: + yych = *++YYCURSOR; if(yych != 'o') goto yy6; goto yy37; -yy37: yych = *++YYCURSOR; +yy37: + yych = *++YYCURSOR; if(yych != 'n') goto yy6; goto yy38; -yy38: yych = *++YYCURSOR; +yy38: + yych = *++YYCURSOR; if(yych == '$') goto yy40; if(yych != ':') goto yy6; goto yy39; -yy39: yych = *++YYCURSOR; +yy39: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy43; -yy40: ++YYCURSOR; +yy40: + ++YYCURSOR; goto yy41; yy41: #line 51 "cvsignore.s.re" -{ APPEND(L"$" L"Revision$"); goto loop; } -#line 188 "" -yy42: ++YYCURSOR; + { APPEND(L"$" L"Revision$"); goto loop; } +#line 223 "" +yy42: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy43; -yy43: if(yych == 0x0A) goto yy6; +yy43: + if(yych == 0x0A) goto yy6; if(yych == '$') goto yy40; goto yy42; -yy44: yych = *++YYCURSOR; +yy44: + yych = *++YYCURSOR; if(yych != 'u') goto yy6; goto yy45; -yy45: yych = *++YYCURSOR; +yy45: + yych = *++YYCURSOR; if(yych != 'r') goto yy6; goto yy46; -yy46: yych = *++YYCURSOR; +yy46: + yych = *++YYCURSOR; if(yych != 'c') goto yy6; goto yy47; -yy47: yych = *++YYCURSOR; +yy47: + yych = *++YYCURSOR; if(yych != 'e') goto yy6; goto yy48; -yy48: yych = *++YYCURSOR; +yy48: + yych = *++YYCURSOR; if(yych == '$') goto yy50; if(yych != ':') goto yy6; goto yy49; -yy49: yych = *++YYCURSOR; +yy49: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy53; -yy50: ++YYCURSOR; +yy50: + ++YYCURSOR; goto yy51; yy51: #line 52 "cvsignore.s.re" -{ APPEND(L"$" L"Source$"); goto loop; } -#line 220 "" -yy52: ++YYCURSOR; + { APPEND(L"$" L"Source$"); goto loop; } +#line 264 "" +yy52: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy53; -yy53: if(yych == 0x0A) goto yy6; +yy53: + if(yych == 0x0A) goto yy6; if(yych == '$') goto yy50; goto yy52; } diff --git a/test/cvsignore.w.c b/test/cvsignore.w.c index 266ce40f..87a70202 100755 --- a/test/cvsignore.w.c +++ b/test/cvsignore.w.c @@ -50,7 +50,8 @@ yy0: yych = *YYCURSOR; if(yych != '$') goto yy4; goto yy2; -yy2: yyaccept = 0; +yy2: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 'D': goto yy10; @@ -62,166 +63,211 @@ yy2: yyaccept = 0; } yy3: #line 53 "cvsignore.w.re" -{ output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } -#line 67 "" -yy4: yych = *++YYCURSOR; + { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } +#line 68 "" +yy4: + yych = *++YYCURSOR; goto yy3; -yy5: yych = *++YYCURSOR; +yy5: + yych = *++YYCURSOR; if(yych == 'o') goto yy44; goto yy6; -yy6: YYCURSOR = YYMARKER; +yy6: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy3; } -yy7: yych = *++YYCURSOR; +yy7: + yych = *++YYCURSOR; if(yych == 'e') goto yy32; goto yy6; -yy8: yych = *++YYCURSOR; +yy8: + yych = *++YYCURSOR; if(yych == 'o') goto yy25; goto yy6; -yy9: yych = *++YYCURSOR; +yy9: + yych = *++YYCURSOR; if(yych == 'd') goto yy19; goto yy6; -yy10: yych = *++YYCURSOR; +yy10: + yych = *++YYCURSOR; if(yych != 'a') goto yy6; goto yy11; -yy11: yych = *++YYCURSOR; +yy11: + yych = *++YYCURSOR; if(yych != 't') goto yy6; goto yy12; -yy12: yych = *++YYCURSOR; +yy12: + yych = *++YYCURSOR; if(yych != 'e') goto yy6; goto yy13; -yy13: yych = *++YYCURSOR; +yy13: + yych = *++YYCURSOR; if(yych == '$') goto yy15; if(yych != ':') goto yy6; goto yy14; -yy14: yych = *++YYCURSOR; +yy14: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy18; -yy15: ++YYCURSOR; +yy15: + ++YYCURSOR; goto yy16; yy16: #line 48 "cvsignore.w.re" -{ APPEND(L"$" L"Date$"); goto loop; } -#line 107 "" -yy17: ++YYCURSOR; + { APPEND(L"$" L"Date$"); goto loop; } +#line 120 "" +yy17: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy18; -yy18: if(yych == 0x000A) goto yy6; +yy18: + if(yych == 0x000A) goto yy6; if(yych == '$') goto yy15; goto yy17; -yy19: yych = *++YYCURSOR; +yy19: + yych = *++YYCURSOR; if(yych == '$') goto yy21; if(yych != ':') goto yy6; goto yy20; -yy20: yych = *++YYCURSOR; +yy20: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy24; -yy21: ++YYCURSOR; +yy21: + ++YYCURSOR; goto yy22; yy22: #line 49 "cvsignore.w.re" -{ APPEND(L"$" L"Id$"); goto loop; } -#line 127 "" -yy23: ++YYCURSOR; + { APPEND(L"$" L"Id$"); goto loop; } +#line 145 "" +yy23: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy24; -yy24: if(yych == 0x000A) goto yy6; +yy24: + if(yych == 0x000A) goto yy6; if(yych == '$') goto yy21; goto yy23; -yy25: yych = *++YYCURSOR; +yy25: + yych = *++YYCURSOR; if(yych != 'g') goto yy6; goto yy26; -yy26: yych = *++YYCURSOR; +yy26: + yych = *++YYCURSOR; if(yych == '$') goto yy28; if(yych != ':') goto yy6; goto yy27; -yy27: yych = *++YYCURSOR; +yy27: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy31; -yy28: ++YYCURSOR; +yy28: + ++YYCURSOR; goto yy29; yy29: #line 50 "cvsignore.w.re" -{ APPEND(L"$" L"Log$"); goto loop; } -#line 150 "" -yy30: ++YYCURSOR; + { APPEND(L"$" L"Log$"); goto loop; } +#line 174 "" +yy30: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy31; -yy31: if(yych == 0x000A) goto yy6; +yy31: + if(yych == 0x000A) goto yy6; if(yych == '$') goto yy28; goto yy30; -yy32: yych = *++YYCURSOR; +yy32: + yych = *++YYCURSOR; if(yych != 'v') goto yy6; goto yy33; -yy33: yych = *++YYCURSOR; +yy33: + yych = *++YYCURSOR; if(yych != 'i') goto yy6; goto yy34; -yy34: yych = *++YYCURSOR; +yy34: + yych = *++YYCURSOR; if(yych != 's') goto yy6; goto yy35; -yy35: yych = *++YYCURSOR; +yy35: + yych = *++YYCURSOR; if(yych != 'i') goto yy6; goto yy36; -yy36: yych = *++YYCURSOR; +yy36: + yych = *++YYCURSOR; if(yych != 'o') goto yy6; goto yy37; -yy37: yych = *++YYCURSOR; +yy37: + yych = *++YYCURSOR; if(yych != 'n') goto yy6; goto yy38; -yy38: yych = *++YYCURSOR; +yy38: + yych = *++YYCURSOR; if(yych == '$') goto yy40; if(yych != ':') goto yy6; goto yy39; -yy39: yych = *++YYCURSOR; +yy39: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy43; -yy40: ++YYCURSOR; +yy40: + ++YYCURSOR; goto yy41; yy41: #line 51 "cvsignore.w.re" -{ APPEND(L"$" L"Revision$"); goto loop; } -#line 188 "" -yy42: ++YYCURSOR; + { APPEND(L"$" L"Revision$"); goto loop; } +#line 223 "" +yy42: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy43; -yy43: if(yych == 0x000A) goto yy6; +yy43: + if(yych == 0x000A) goto yy6; if(yych == '$') goto yy40; goto yy42; -yy44: yych = *++YYCURSOR; +yy44: + yych = *++YYCURSOR; if(yych != 'u') goto yy6; goto yy45; -yy45: yych = *++YYCURSOR; +yy45: + yych = *++YYCURSOR; if(yych != 'r') goto yy6; goto yy46; -yy46: yych = *++YYCURSOR; +yy46: + yych = *++YYCURSOR; if(yych != 'c') goto yy6; goto yy47; -yy47: yych = *++YYCURSOR; +yy47: + yych = *++YYCURSOR; if(yych != 'e') goto yy6; goto yy48; -yy48: yych = *++YYCURSOR; +yy48: + yych = *++YYCURSOR; if(yych == '$') goto yy50; if(yych != ':') goto yy6; goto yy49; -yy49: yych = *++YYCURSOR; +yy49: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy53; -yy50: ++YYCURSOR; +yy50: + ++YYCURSOR; goto yy51; yy51: #line 52 "cvsignore.w.re" -{ APPEND(L"$" L"Source$"); goto loop; } -#line 220 "" -yy52: ++YYCURSOR; + { APPEND(L"$" L"Source$"); goto loop; } +#line 264 "" +yy52: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy53; -yy53: if(yych == 0x000A) goto yy6; +yy53: + if(yych == 0x000A) goto yy6; if(yych == '$') goto yy50; goto yy52; } diff --git a/test/cvsignore.wb.c b/test/cvsignore.wb.c index d7131439..cf58f563 100755 --- a/test/cvsignore.wb.c +++ b/test/cvsignore.wb.c @@ -85,7 +85,8 @@ yy0: yych = *YYCURSOR; if(yych != '$') goto yy4; goto yy2; -yy2: yyaccept = 0; +yy2: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 'D': goto yy10; @@ -97,170 +98,215 @@ yy2: yyaccept = 0; } yy3: #line 53 "cvsignore.wb.re" -{ output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } -#line 102 "" -yy4: yych = *++YYCURSOR; + { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } +#line 103 "" +yy4: + yych = *++YYCURSOR; goto yy3; -yy5: yych = *++YYCURSOR; +yy5: + yych = *++YYCURSOR; if(yych == 'o') goto yy44; goto yy6; -yy6: YYCURSOR = YYMARKER; +yy6: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy3; } -yy7: yych = *++YYCURSOR; +yy7: + yych = *++YYCURSOR; if(yych == 'e') goto yy32; goto yy6; -yy8: yych = *++YYCURSOR; +yy8: + yych = *++YYCURSOR; if(yych == 'o') goto yy25; goto yy6; -yy9: yych = *++YYCURSOR; +yy9: + yych = *++YYCURSOR; if(yych == 'd') goto yy19; goto yy6; -yy10: yych = *++YYCURSOR; +yy10: + yych = *++YYCURSOR; if(yych != 'a') goto yy6; goto yy11; -yy11: yych = *++YYCURSOR; +yy11: + yych = *++YYCURSOR; if(yych != 't') goto yy6; goto yy12; -yy12: yych = *++YYCURSOR; +yy12: + yych = *++YYCURSOR; if(yych != 'e') goto yy6; goto yy13; -yy13: yych = *++YYCURSOR; +yy13: + yych = *++YYCURSOR; if(yych == '$') goto yy15; if(yych != ':') goto yy6; goto yy14; -yy14: yych = *++YYCURSOR; +yy14: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy18; -yy15: ++YYCURSOR; +yy15: + ++YYCURSOR; goto yy16; yy16: #line 48 "cvsignore.wb.re" -{ APPEND(L"$" L"Date$"); goto loop; } -#line 142 "" -yy17: ++YYCURSOR; + { APPEND(L"$" L"Date$"); goto loop; } +#line 155 "" +yy17: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy18; -yy18: if(yyh & 0xFF00) { +yy18: + if(yyh & 0xFF00) { goto yy17; } else if(yybm[0+yych] & 128) { goto yy17; } if(yych <= '#') goto yy6; goto yy15; -yy19: yych = *++YYCURSOR; +yy19: + yych = *++YYCURSOR; if(yych == '$') goto yy21; if(yych != ':') goto yy6; goto yy20; -yy20: yych = *++YYCURSOR; +yy20: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy24; -yy21: ++YYCURSOR; +yy21: + ++YYCURSOR; goto yy22; yy22: #line 49 "cvsignore.wb.re" -{ APPEND(L"$" L"Id$"); goto loop; } -#line 166 "" -yy23: ++YYCURSOR; + { APPEND(L"$" L"Id$"); goto loop; } +#line 184 "" +yy23: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy24; -yy24: if(yych == 0x000A) goto yy6; +yy24: + if(yych == 0x000A) goto yy6; if(yych == '$') goto yy21; goto yy23; -yy25: yych = *++YYCURSOR; +yy25: + yych = *++YYCURSOR; if(yych != 'g') goto yy6; goto yy26; -yy26: yych = *++YYCURSOR; +yy26: + yych = *++YYCURSOR; if(yych == '$') goto yy28; if(yych != ':') goto yy6; goto yy27; -yy27: yych = *++YYCURSOR; +yy27: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy31; -yy28: ++YYCURSOR; +yy28: + ++YYCURSOR; goto yy29; yy29: #line 50 "cvsignore.wb.re" -{ APPEND(L"$" L"Log$"); goto loop; } -#line 189 "" -yy30: ++YYCURSOR; + { APPEND(L"$" L"Log$"); goto loop; } +#line 213 "" +yy30: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy31; -yy31: if(yych == 0x000A) goto yy6; +yy31: + if(yych == 0x000A) goto yy6; if(yych == '$') goto yy28; goto yy30; -yy32: yych = *++YYCURSOR; +yy32: + yych = *++YYCURSOR; if(yych != 'v') goto yy6; goto yy33; -yy33: yych = *++YYCURSOR; +yy33: + yych = *++YYCURSOR; if(yych != 'i') goto yy6; goto yy34; -yy34: yych = *++YYCURSOR; +yy34: + yych = *++YYCURSOR; if(yych != 's') goto yy6; goto yy35; -yy35: yych = *++YYCURSOR; +yy35: + yych = *++YYCURSOR; if(yych != 'i') goto yy6; goto yy36; -yy36: yych = *++YYCURSOR; +yy36: + yych = *++YYCURSOR; if(yych != 'o') goto yy6; goto yy37; -yy37: yych = *++YYCURSOR; +yy37: + yych = *++YYCURSOR; if(yych != 'n') goto yy6; goto yy38; -yy38: yych = *++YYCURSOR; +yy38: + yych = *++YYCURSOR; if(yych == '$') goto yy40; if(yych != ':') goto yy6; goto yy39; -yy39: yych = *++YYCURSOR; +yy39: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy43; -yy40: ++YYCURSOR; +yy40: + ++YYCURSOR; goto yy41; yy41: #line 51 "cvsignore.wb.re" -{ APPEND(L"$" L"Revision$"); goto loop; } -#line 227 "" -yy42: ++YYCURSOR; + { APPEND(L"$" L"Revision$"); goto loop; } +#line 262 "" +yy42: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy43; -yy43: if(yych == 0x000A) goto yy6; +yy43: + if(yych == 0x000A) goto yy6; if(yych == '$') goto yy40; goto yy42; -yy44: yych = *++YYCURSOR; +yy44: + yych = *++YYCURSOR; if(yych != 'u') goto yy6; goto yy45; -yy45: yych = *++YYCURSOR; +yy45: + yych = *++YYCURSOR; if(yych != 'r') goto yy6; goto yy46; -yy46: yych = *++YYCURSOR; +yy46: + yych = *++YYCURSOR; if(yych != 'c') goto yy6; goto yy47; -yy47: yych = *++YYCURSOR; +yy47: + yych = *++YYCURSOR; if(yych != 'e') goto yy6; goto yy48; -yy48: yych = *++YYCURSOR; +yy48: + yych = *++YYCURSOR; if(yych == '$') goto yy50; if(yych != ':') goto yy6; goto yy49; -yy49: yych = *++YYCURSOR; +yy49: + yych = *++YYCURSOR; if(yych == '$') goto yy6; goto yy53; -yy50: ++YYCURSOR; +yy50: + ++YYCURSOR; goto yy51; yy51: #line 52 "cvsignore.wb.re" -{ APPEND(L"$" L"Source$"); goto loop; } -#line 259 "" -yy52: ++YYCURSOR; + { APPEND(L"$" L"Source$"); goto loop; } +#line 303 "" +yy52: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy53; -yy53: if(yych == 0x000A) goto yy6; +yy53: + if(yych == 0x000A) goto yy6; if(yych == '$') goto yy50; goto yy52; } diff --git a/test/error3.c b/test/error3.c index 368813cf..340a96ed 100755 --- a/test/error3.c +++ b/test/error3.c @@ -28,18 +28,20 @@ yy0: case 'a': goto yy2; default: goto yy4; } -yy2: ++YYCURSOR; +yy2: + ++YYCURSOR; goto yy3; yy3: #line 18 "error3.re" -{RET(1);} -#line 36 "" -yy4: ++YYCURSOR; + {RET(1);} +#line 37 "" +yy4: + ++YYCURSOR; goto yy5; yy5: #line 19 "error3.re" -{RET(0);} -#line 42 "" + {RET(0);} +#line 44 "" } #line 20 "error3.re" diff --git a/test/input1.c b/test/input1.c index 06b8e787..0ecb8649 100644 --- a/test/input1.c +++ b/test/input1.c @@ -14,7 +14,8 @@ yy0: case 'a': goto yy2; default: goto yy4; } -yy2: yyaccept = 0; +yy2: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 'b': goto yy5; @@ -22,34 +23,40 @@ yy2: yyaccept = 0; } yy3: #line 4 "input1.re" -{ return 0; } -#line 27 "" -yy4: yych = *++YYCURSOR; + { return 0; } +#line 28 "" +yy4: + yych = *++YYCURSOR; goto yy3; -yy5: ++YYCURSOR; +yy5: + ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; goto yy6; -yy6: switch(yych){ +yy6: + switch(yych){ case 'b': goto yy5; case 'c': goto yy8; default: goto yy7; } -yy7: YYCURSOR = YYMARKER; +yy7: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy3; } -yy8: yych = *++YYCURSOR; +yy8: + yych = *++YYCURSOR; switch(yych){ case 'c': goto yy9; default: goto yy7; } -yy9: ++YYCURSOR; +yy9: + ++YYCURSOR; goto yy10; yy10: #line 3 "input1.re" -{ return 1; } -#line 53 "" + { return 1; } +#line 60 "" } #line 6 "input1.re" diff --git a/test/input2.c b/test/input2.c index 0177ddd0..5790091a 100644 --- a/test/input2.c +++ b/test/input2.c @@ -13,26 +13,31 @@ yy0: case 'a': goto yy3; default: goto yy2; } -yy2:yy3: ++YYCURSOR; +yy2: +yy3: + ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; goto yy4; -yy4: switch(yych){ +yy4: + switch(yych){ case 'a': goto yy3; case 'b': goto yy5; default: goto yy2; } -yy5: yych = *++YYCURSOR; +yy5: + yych = *++YYCURSOR; switch(yych){ case 'b': goto yy6; default: goto yy2; } -yy6: ++YYCURSOR; +yy6: + ++YYCURSOR; goto yy7; yy7: #line 3 "input2.re" -{ return 1; } -#line 36 "" + { return 1; } +#line 41 "" } #line 5 "input2.re" diff --git a/test/input3.c b/test/input3.c index 986cc137..9b316a9e 100644 --- a/test/input3.c +++ b/test/input3.c @@ -13,26 +13,31 @@ yy0: case 'a': goto yy3; default: goto yy2; } -yy2:yy3: ++YYCURSOR; +yy2: +yy3: + ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; goto yy4; -yy4: switch(yych){ +yy4: + switch(yych){ case 'a': goto yy3; case 'b': goto yy5; default: goto yy2; } -yy5: yych = *++YYCURSOR; +yy5: + yych = *++YYCURSOR; switch(yych){ case 'b': goto yy6; default: goto yy2; } -yy6: ++YYCURSOR; +yy6: + ++YYCURSOR; goto yy7; yy7: #line 3 "input3.re" -{ return 1; } -#line 36 "" + { return 1; } +#line 41 "" } #line 5 "input3.re" diff --git a/test/input4.c b/test/input4.c index 53bcb0be..a737931a 100755 --- a/test/input4.c +++ b/test/input4.c @@ -10,15 +10,15 @@ yy0: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy3; - #line 3 "input4.re" -{ return 0; } -#line 17 "" -yy3: ++YYCURSOR; + { return 0; } +#line 16 "" +yy3: + ++YYCURSOR; goto yy4; yy4: #line 4 "input4.re" -{ return 1; } + { return 1; } #line 23 "" } #line 7 "input4.re" diff --git a/test/input5.c b/test/input5.c index d6501068..496d11e5 100755 --- a/test/input5.c +++ b/test/input5.c @@ -13,18 +13,20 @@ yy0: case 'a': goto yy2; default: goto yy4; } -yy2: ++YYCURSOR; +yy2: + ++YYCURSOR; goto yy3; yy3: #line 3 "input5.re" -{ return 0; } -#line 22 "" -yy4: ++YYCURSOR; + { return 0; } +#line 23 "" +yy4: + ++YYCURSOR; goto yy5; yy5: #line 4 "input5.re" -{ return 1; } -#line 28 "" + { return 1; } +#line 30 "" } #line 6 "input5.re" diff --git a/test/input6.c b/test/input6.c index ab20371e..985b5db8 100755 --- a/test/input6.c +++ b/test/input6.c @@ -10,15 +10,15 @@ yy0: if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy3; - #line 3 "input6.re" -{ return 0; } -#line 17 "" -yy3: ++YYCURSOR; + { return 0; } +#line 16 "" +yy3: + ++YYCURSOR; goto yy4; yy4: #line 4 "input6.re" -{ return 1; } + { return 1; } #line 23 "" } #line 6 "input6.re" diff --git a/test/input7.c b/test/input7.c index 61df86c9..be064c97 100755 --- a/test/input7.c +++ b/test/input7.c @@ -13,18 +13,20 @@ yy0: case 0x0A: goto yy4; default: goto yy2; } -yy2: ++YYCURSOR; +yy2: + ++YYCURSOR; goto yy3; yy3: #line 5 "input7.re" -{ return 0; } -#line 22 "" -yy4: ++YYCURSOR; + { return 0; } +#line 23 "" +yy4: + ++YYCURSOR; goto yy5; yy5: #line 6 "input7.re" -{ return 1; } -#line 28 "" + { return 1; } +#line 30 "" } #line 8 "input7.re" diff --git a/test/input8.c b/test/input8.c index 26bca05e..037910e5 100755 --- a/test/input8.c +++ b/test/input8.c @@ -14,7 +14,8 @@ yy0: case 0x0A: goto yy4; default: goto yy2; } -yy2: yyaccept = 0; +yy2: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x00: goto yy6; @@ -23,15 +24,17 @@ yy2: yyaccept = 0; } yy3: #line 6 "input8.re" -{ return 1; } -#line 28 "" -yy4: ++YYCURSOR; + { return 1; } +#line 29 "" +yy4: + ++YYCURSOR; goto yy5; yy5: #line 7 "input8.re" -{ return 2; } -#line 34 "" -yy6: yyaccept = 1; + { return 2; } +#line 36 "" +yy6: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x00: goto yy10; @@ -40,26 +43,31 @@ yy6: yyaccept = 1; } yy7: #line 5 "input8.re" -{ return 0; } -#line 45 "" -yy8: yych = *++YYCURSOR; + { return 0; } +#line 48 "" +yy8: + yych = *++YYCURSOR; switch(yych){ case 0x00: goto yy10; case 0x0A: goto yy9; default: goto yy11; } -yy9: YYCURSOR = YYMARKER; +yy9: + YYCURSOR = YYMARKER; switch(yyaccept){ case 1: goto yy7; case 0: goto yy3; } -yy10: yych = *++YYCURSOR; +yy10: + yych = *++YYCURSOR; if(yych <= 0x00) goto yy12; goto yy7; -yy11: yych = *++YYCURSOR; +yy11: + yych = *++YYCURSOR; if(yych >= 0x01) goto yy9; goto yy12; -yy12: ++YYCURSOR; +yy12: + ++YYCURSOR; yych = *YYCURSOR; goto yy7; } diff --git a/test/input9.c b/test/input9.c index d370c313..eb34d46a 100755 --- a/test/input9.c +++ b/test/input9.c @@ -24,89 +24,103 @@ yy0: case 0xEE: goto yy14; default: goto yy26; } -yy2: ++YYCURSOR; +yy2: + ++YYCURSOR; goto yy3; yy3: #line 5 "input9.re" -{ return 1; } -#line 33 "" -yy4: ++YYCURSOR; + { return 1; } +#line 34 "" +yy4: + ++YYCURSOR; goto yy5; yy5: #line 6 "input9.re" -{ return 2; } -#line 39 "" -yy6: ++YYCURSOR; + { return 2; } +#line 41 "" +yy6: + ++YYCURSOR; goto yy7; yy7: #line 7 "input9.re" -{ return 3; } -#line 45 "" -yy8: ++YYCURSOR; + { return 3; } +#line 48 "" +yy8: + ++YYCURSOR; goto yy9; yy9: #line 8 "input9.re" -{ return 4; } -#line 51 "" -yy10: ++YYCURSOR; + { return 4; } +#line 55 "" +yy10: + ++YYCURSOR; goto yy11; yy11: #line 9 "input9.re" -{ return 5; } -#line 57 "" -yy12: ++YYCURSOR; + { return 5; } +#line 62 "" +yy12: + ++YYCURSOR; goto yy13; yy13: #line 10 "input9.re" -{ return 6; } -#line 63 "" -yy14: ++YYCURSOR; + { return 6; } +#line 69 "" +yy14: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '7': goto yy27; default: goto yy15; } yy15: #line 18 "input9.re" -{ return 0; } -#line 72 "" -yy16: ++YYCURSOR; + { return 0; } +#line 79 "" +yy16: + ++YYCURSOR; goto yy17; yy17: #line 13 "input9.re" -{ return 8; } -#line 78 "" -yy18: ++YYCURSOR; + { return 8; } +#line 86 "" +yy18: + ++YYCURSOR; goto yy19; yy19: #line 14 "input9.re" -{ return 9; } -#line 84 "" -yy20: ++YYCURSOR; + { return 9; } +#line 93 "" +yy20: + ++YYCURSOR; goto yy21; yy21: #line 15 "input9.re" -{ return 10; } -#line 90 "" -yy22: ++YYCURSOR; + { return 10; } +#line 100 "" +yy22: + ++YYCURSOR; goto yy23; yy23: #line 16 "input9.re" -{ return 11; } -#line 96 "" -yy24: ++YYCURSOR; + { return 11; } +#line 107 "" +yy24: + ++YYCURSOR; goto yy25; yy25: #line 17 "input9.re" -{ return 12; } -#line 102 "" -yy26: yych = *++YYCURSOR; + { return 12; } +#line 114 "" +yy26: + yych = *++YYCURSOR; goto yy15; -yy27: ++YYCURSOR; +yy27: + ++YYCURSOR; goto yy28; yy28: #line 11 "input9.re" -{ return 7; } -#line 110 "" + { return 7; } +#line 124 "" } #line 20 "input9.re" diff --git a/test/modula.c b/test/modula.c index 17070fef..01afa70f 100644 --- a/test/modula.c +++ b/test/modula.c @@ -164,26 +164,30 @@ yy0: case '~': goto yy50; default: goto yy77; } -yy2: ++YYCURSOR; +yy2: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '*': goto yy297; default: goto yy3; } yy3: #line 79 "modula.re" -{RETURN(9);} -#line 172 "" -yy4: yyaccept = 0; + {RETURN(9);} +#line 173 "" +yy4: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy292; yy5: #line 69 "modula.re" -{RETURN(1);} -#line 179 "" -yy6: yyaccept = 0; + {RETURN(1);} +#line 181 "" +yy6: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy278; -yy7: yyaccept = 1; +yy7: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy8; @@ -191,90 +195,103 @@ yy7: yyaccept = 1; } yy8: #line 158 "modula.re" -{ + { printf("unexpected character: %c\n", *s->tok); goto std; } -#line 195 "" -yy9: yyaccept = 1; +#line 199 "" +yy9: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy8; default: goto yy269; } -yy10: ++YYCURSOR; +yy10: + ++YYCURSOR; goto yy11; yy11: #line 77 "modula.re" -{RETURN(7);} -#line 207 "" -yy12: ++YYCURSOR; + {RETURN(7);} +#line 213 "" +yy12: + ++YYCURSOR; goto yy13; yy13: #line 78 "modula.re" -{RETURN(8);} -#line 213 "" -yy14: ++YYCURSOR; + {RETURN(8);} +#line 220 "" +yy14: + ++YYCURSOR; goto yy15; yy15: #line 80 "modula.re" -{RETURN(10);} -#line 219 "" -yy16: ++YYCURSOR; + {RETURN(10);} +#line 227 "" +yy16: + ++YYCURSOR; goto yy17; yy17: #line 81 "modula.re" -{RETURN(11);} -#line 225 "" -yy18: ++YYCURSOR; + {RETURN(11);} +#line 234 "" +yy18: + ++YYCURSOR; goto yy19; yy19: #line 82 "modula.re" -{RETURN(12);} -#line 231 "" -yy20: ++YYCURSOR; + {RETURN(12);} +#line 241 "" +yy20: + ++YYCURSOR; goto yy21; yy21: #line 83 "modula.re" -{RETURN(13);} -#line 237 "" -yy22: ++YYCURSOR; + {RETURN(13);} +#line 248 "" +yy22: + ++YYCURSOR; goto yy23; yy23: #line 84 "modula.re" -{RETURN(14);} -#line 243 "" -yy24: ++YYCURSOR; + {RETURN(14);} +#line 255 "" +yy24: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '.': goto yy266; default: goto yy25; } yy25: #line 85 "modula.re" -{RETURN(15);} -#line 252 "" -yy26: ++YYCURSOR; + {RETURN(15);} +#line 265 "" +yy26: + ++YYCURSOR; goto yy27; yy27: #line 87 "modula.re" -{RETURN(17);} -#line 258 "" -yy28: ++YYCURSOR; + {RETURN(17);} +#line 272 "" +yy28: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy264; default: goto yy29; } yy29: #line 88 "modula.re" -{RETURN(18);} -#line 267 "" -yy30: ++YYCURSOR; + {RETURN(18);} +#line 282 "" +yy30: + ++YYCURSOR; goto yy31; yy31: #line 90 "modula.re" -{RETURN(20);} -#line 273 "" -yy32: ++YYCURSOR; + {RETURN(20);} +#line 289 "" +yy32: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy262; case '>': goto yy260; @@ -282,66 +299,76 @@ yy32: ++YYCURSOR; } yy33: #line 91 "modula.re" -{RETURN(21);} -#line 283 "" -yy34: ++YYCURSOR; + {RETURN(21);} +#line 300 "" +yy34: + ++YYCURSOR; goto yy35; yy35: #line 94 "modula.re" -{RETURN(24);} -#line 289 "" -yy36: ++YYCURSOR; + {RETURN(24);} +#line 307 "" +yy36: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '=': goto yy258; default: goto yy37; } yy37: #line 95 "modula.re" -{RETURN(25);} -#line 298 "" -yy38: ++YYCURSOR; + {RETURN(25);} +#line 317 "" +yy38: + ++YYCURSOR; goto yy39; yy39: #line 97 "modula.re" -{RETURN(27);} -#line 304 "" -yy40: ++YYCURSOR; + {RETURN(27);} +#line 324 "" +yy40: + ++YYCURSOR; goto yy41; yy41: #line 98 "modula.re" -{RETURN(28);} -#line 310 "" -yy42: ++YYCURSOR; + {RETURN(28);} +#line 331 "" +yy42: + ++YYCURSOR; goto yy43; yy43: #line 99 "modula.re" -{RETURN(29);} -#line 316 "" -yy44: ++YYCURSOR; + {RETURN(29);} +#line 338 "" +yy44: + ++YYCURSOR; goto yy45; yy45: #line 100 "modula.re" -{RETURN(30);} -#line 322 "" -yy46: ++YYCURSOR; + {RETURN(30);} +#line 345 "" +yy46: + ++YYCURSOR; goto yy47; yy47: #line 101 "modula.re" -{RETURN(31);} -#line 328 "" -yy48: ++YYCURSOR; + {RETURN(31);} +#line 352 "" +yy48: + ++YYCURSOR; goto yy49; yy49: #line 102 "modula.re" -{RETURN(32);} -#line 334 "" -yy50: ++YYCURSOR; + {RETURN(32);} +#line 359 "" +yy50: + ++YYCURSOR; goto yy51; yy51: #line 103 "modula.re" -{RETURN(33);} -#line 340 "" -yy52: ++YYCURSOR; + {RETURN(33);} +#line 366 "" +yy52: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case 'N': goto yy250; case 'R': goto yy251; @@ -349,147 +376,173 @@ yy52: ++YYCURSOR; } yy53: #line 146 "modula.re" -{RETURN(74);} -#line 350 "" -yy54: yych = *++YYCURSOR; + {RETURN(74);} +#line 377 "" +yy54: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy243; case 'Y': goto yy244; default: goto yy81; } -yy55: yych = *++YYCURSOR; +yy55: + yych = *++YYCURSOR; switch(yych){ case 'A': goto yy234; case 'O': goto yy235; default: goto yy81; } -yy56: yych = *++YYCURSOR; +yy56: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy219; case 'I': goto yy220; case 'O': goto yy221; default: goto yy81; } -yy57: yych = *++YYCURSOR; +yy57: + yych = *++YYCURSOR; switch(yych){ case 'L': goto yy200; case 'N': goto yy201; case 'X': goto yy202; default: goto yy81; } -yy58: yych = *++YYCURSOR; +yy58: + yych = *++YYCURSOR; switch(yych){ case 'O': goto yy193; case 'R': goto yy194; default: goto yy81; } -yy59: yych = *++YYCURSOR; +yy59: + yych = *++YYCURSOR; switch(yych){ case 'F': goto yy171; case 'M': goto yy173; case 'N': goto yy174; default: goto yy81; } -yy60: yych = *++YYCURSOR; +yy60: + yych = *++YYCURSOR; switch(yych){ case 'O': goto yy167; default: goto yy81; } -yy61: yych = *++YYCURSOR; +yy61: + yych = *++YYCURSOR; switch(yych){ case 'O': goto yy160; default: goto yy81; } -yy62: yych = *++YYCURSOR; +yy62: + yych = *++YYCURSOR; switch(yych){ case 'O': goto yy157; default: goto yy81; } -yy63: yych = *++YYCURSOR; +yy63: + yych = *++YYCURSOR; switch(yych){ case 'F': goto yy153; case 'R': goto yy155; default: goto yy81; } -yy64: yych = *++YYCURSOR; +yy64: + yych = *++YYCURSOR; switch(yych){ case 'O': goto yy137; case 'R': goto yy138; default: goto yy81; } -yy65: yych = *++YYCURSOR; +yy65: + yych = *++YYCURSOR; switch(yych){ case 'U': goto yy128; default: goto yy81; } -yy66: yych = *++YYCURSOR; +yy66: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy112; default: goto yy81; } -yy67: yych = *++YYCURSOR; +yy67: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy109; default: goto yy81; } -yy68: yych = *++YYCURSOR; +yy68: + yych = *++YYCURSOR; switch(yych){ case 'H': goto yy99; case 'O': goto yy100; case 'Y': goto yy102; default: goto yy81; } -yy69: yych = *++YYCURSOR; +yy69: + yych = *++YYCURSOR; switch(yych){ case 'N': goto yy94; default: goto yy81; } -yy70: yych = *++YYCURSOR; +yy70: + yych = *++YYCURSOR; switch(yych){ case 'A': goto yy91; default: goto yy81; } -yy71: yych = *++YYCURSOR; +yy71: + yych = *++YYCURSOR; switch(yych){ case 'H': goto yy82; case 'I': goto yy83; default: goto yy81; } -yy72: yych = *++YYCURSOR; +yy72: + yych = *++YYCURSOR; goto yy81; -yy73: ++YYCURSOR; +yy73: + ++YYCURSOR; yych = *YYCURSOR; goto yy79; yy74: #line 148 "modula.re" -{ goto std; } -#line 463 "" -yy75: ++YYCURSOR; + { goto std; } +#line 510 "" +yy75: + ++YYCURSOR; goto yy76; yy76: #line 151 "modula.re" -{ + { if(cursor == s->eof) RETURN(0); s->pos = cursor; s->line++; goto std; } -#line 473 "" -yy77: yych = *++YYCURSOR; +#line 521 "" +yy77: + yych = *++YYCURSOR; goto yy8; -yy78: ++YYCURSOR; +yy78: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy79; -yy79: switch(yych){ +yy79: + switch(yych){ case 0x09: case ' ': goto yy78; default: goto yy74; } -yy80: ++YYCURSOR; +yy80: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy81; -yy81: switch(yych){ +yy81: + switch(yych){ case '0': case '1': case '2': @@ -554,22 +607,26 @@ yy81: switch(yych){ case 'z': goto yy80; default: goto yy53; } -yy82: yych = *++YYCURSOR; +yy82: + yych = *++YYCURSOR; switch(yych){ case 'I': goto yy87; default: goto yy81; } -yy83: yych = *++YYCURSOR; +yy83: + yych = *++YYCURSOR; switch(yych){ case 'T': goto yy84; default: goto yy81; } -yy84: yych = *++YYCURSOR; +yy84: + yych = *++YYCURSOR; switch(yych){ case 'H': goto yy85; default: goto yy81; } -yy85: ++YYCURSOR; +yy85: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -637,19 +694,22 @@ yy85: ++YYCURSOR; } yy86: #line 144 "modula.re" -{RETURN(73);} -#line 633 "" -yy87: yych = *++YYCURSOR; + {RETURN(73);} +#line 690 "" +yy87: + yych = *++YYCURSOR; switch(yych){ case 'L': goto yy88; default: goto yy81; } -yy88: yych = *++YYCURSOR; +yy88: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy89; default: goto yy81; } -yy89: ++YYCURSOR; +yy89: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -717,14 +777,16 @@ yy89: ++YYCURSOR; } yy90: #line 143 "modula.re" -{RETURN(72);} -#line 711 "" -yy91: yych = *++YYCURSOR; + {RETURN(72);} +#line 771 "" +yy91: + yych = *++YYCURSOR; switch(yych){ case 'R': goto yy92; default: goto yy81; } -yy92: ++YYCURSOR; +yy92: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -792,24 +854,28 @@ yy92: ++YYCURSOR; } yy93: #line 142 "modula.re" -{RETURN(71);} -#line 784 "" -yy94: yych = *++YYCURSOR; + {RETURN(71);} +#line 846 "" +yy94: + yych = *++YYCURSOR; switch(yych){ case 'T': goto yy95; default: goto yy81; } -yy95: yych = *++YYCURSOR; +yy95: + yych = *++YYCURSOR; switch(yych){ case 'I': goto yy96; default: goto yy81; } -yy96: yych = *++YYCURSOR; +yy96: + yych = *++YYCURSOR; switch(yych){ case 'L': goto yy97; default: goto yy81; } -yy97: ++YYCURSOR; +yy97: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -877,14 +943,16 @@ yy97: ++YYCURSOR; } yy98: #line 141 "modula.re" -{RETURN(70);} -#line 867 "" -yy99: yych = *++YYCURSOR; + {RETURN(70);} +#line 933 "" +yy99: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy106; default: goto yy81; } -yy100: ++YYCURSOR; +yy100: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -952,19 +1020,22 @@ yy100: ++YYCURSOR; } yy101: #line 139 "modula.re" -{RETURN(68);} -#line 940 "" -yy102: yych = *++YYCURSOR; + {RETURN(68);} +#line 1008 "" +yy102: + yych = *++YYCURSOR; switch(yych){ case 'P': goto yy103; default: goto yy81; } -yy103: yych = *++YYCURSOR; +yy103: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy104; default: goto yy81; } -yy104: ++YYCURSOR; +yy104: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1032,14 +1103,16 @@ yy104: ++YYCURSOR; } yy105: #line 140 "modula.re" -{RETURN(69);} -#line 1018 "" -yy106: yych = *++YYCURSOR; + {RETURN(69);} +#line 1089 "" +yy106: + yych = *++YYCURSOR; switch(yych){ case 'N': goto yy107; default: goto yy81; } -yy107: ++YYCURSOR; +yy107: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1107,14 +1180,16 @@ yy107: ++YYCURSOR; } yy108: #line 138 "modula.re" -{RETURN(67);} -#line 1091 "" -yy109: yych = *++YYCURSOR; + {RETURN(67);} +#line 1164 "" +yy109: + yych = *++YYCURSOR; switch(yych){ case 'T': goto yy110; default: goto yy81; } -yy110: ++YYCURSOR; +yy110: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1182,41 +1257,48 @@ yy110: ++YYCURSOR; } yy111: #line 137 "modula.re" -{RETURN(66);} -#line 1164 "" -yy112: yych = *++YYCURSOR; + {RETURN(66);} +#line 1239 "" +yy112: + yych = *++YYCURSOR; switch(yych){ case 'C': goto yy113; case 'P': goto yy114; case 'T': goto yy115; default: goto yy81; } -yy113: yych = *++YYCURSOR; +yy113: + yych = *++YYCURSOR; switch(yych){ case 'O': goto yy124; default: goto yy81; } -yy114: yych = *++YYCURSOR; +yy114: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy120; default: goto yy81; } -yy115: yych = *++YYCURSOR; +yy115: + yych = *++YYCURSOR; switch(yych){ case 'U': goto yy116; default: goto yy81; } -yy116: yych = *++YYCURSOR; +yy116: + yych = *++YYCURSOR; switch(yych){ case 'R': goto yy117; default: goto yy81; } -yy117: yych = *++YYCURSOR; +yy117: + yych = *++YYCURSOR; switch(yych){ case 'N': goto yy118; default: goto yy81; } -yy118: ++YYCURSOR; +yy118: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1284,19 +1366,22 @@ yy118: ++YYCURSOR; } yy119: #line 136 "modula.re" -{RETURN(65);} -#line 1264 "" -yy120: yych = *++YYCURSOR; + {RETURN(65);} +#line 1346 "" +yy120: + yych = *++YYCURSOR; switch(yych){ case 'A': goto yy121; default: goto yy81; } -yy121: yych = *++YYCURSOR; +yy121: + yych = *++YYCURSOR; switch(yych){ case 'T': goto yy122; default: goto yy81; } -yy122: ++YYCURSOR; +yy122: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1364,19 +1449,22 @@ yy122: ++YYCURSOR; } yy123: #line 135 "modula.re" -{RETURN(64);} -#line 1342 "" -yy124: yych = *++YYCURSOR; + {RETURN(64);} +#line 1427 "" +yy124: + yych = *++YYCURSOR; switch(yych){ case 'R': goto yy125; default: goto yy81; } -yy125: yych = *++YYCURSOR; +yy125: + yych = *++YYCURSOR; switch(yych){ case 'D': goto yy126; default: goto yy81; } -yy126: ++YYCURSOR; +yy126: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1444,44 +1532,52 @@ yy126: ++YYCURSOR; } yy127: #line 134 "modula.re" -{RETURN(63);} -#line 1420 "" -yy128: yych = *++YYCURSOR; + {RETURN(63);} +#line 1508 "" +yy128: + yych = *++YYCURSOR; switch(yych){ case 'A': goto yy129; default: goto yy81; } -yy129: yych = *++YYCURSOR; +yy129: + yych = *++YYCURSOR; switch(yych){ case 'L': goto yy130; default: goto yy81; } -yy130: yych = *++YYCURSOR; +yy130: + yych = *++YYCURSOR; switch(yych){ case 'I': goto yy131; default: goto yy81; } -yy131: yych = *++YYCURSOR; +yy131: + yych = *++YYCURSOR; switch(yych){ case 'F': goto yy132; default: goto yy81; } -yy132: yych = *++YYCURSOR; +yy132: + yych = *++YYCURSOR; switch(yych){ case 'I': goto yy133; default: goto yy81; } -yy133: yych = *++YYCURSOR; +yy133: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy134; default: goto yy81; } -yy134: yych = *++YYCURSOR; +yy134: + yych = *++YYCURSOR; switch(yych){ case 'D': goto yy135; default: goto yy81; } -yy135: ++YYCURSOR; +yy135: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1549,49 +1645,58 @@ yy135: ++YYCURSOR; } yy136: #line 133 "modula.re" -{RETURN(62);} -#line 1523 "" -yy137: yych = *++YYCURSOR; + {RETURN(62);} +#line 1619 "" +yy137: + yych = *++YYCURSOR; switch(yych){ case 'I': goto yy147; default: goto yy81; } -yy138: yych = *++YYCURSOR; +yy138: + yych = *++YYCURSOR; switch(yych){ case 'O': goto yy139; default: goto yy81; } -yy139: yych = *++YYCURSOR; +yy139: + yych = *++YYCURSOR; switch(yych){ case 'C': goto yy140; default: goto yy81; } -yy140: yych = *++YYCURSOR; +yy140: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy141; default: goto yy81; } -yy141: yych = *++YYCURSOR; +yy141: + yych = *++YYCURSOR; switch(yych){ case 'D': goto yy142; default: goto yy81; } -yy142: yych = *++YYCURSOR; +yy142: + yych = *++YYCURSOR; switch(yych){ case 'U': goto yy143; default: goto yy81; } -yy143: yych = *++YYCURSOR; +yy143: + yych = *++YYCURSOR; switch(yych){ case 'R': goto yy144; default: goto yy81; } -yy144: yych = *++YYCURSOR; +yy144: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy145; default: goto yy81; } -yy145: ++YYCURSOR; +yy145: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1659,29 +1764,34 @@ yy145: ++YYCURSOR; } yy146: #line 132 "modula.re" -{RETURN(61);} -#line 1631 "" -yy147: yych = *++YYCURSOR; + {RETURN(61);} +#line 1736 "" +yy147: + yych = *++YYCURSOR; switch(yych){ case 'N': goto yy148; default: goto yy81; } -yy148: yych = *++YYCURSOR; +yy148: + yych = *++YYCURSOR; switch(yych){ case 'T': goto yy149; default: goto yy81; } -yy149: yych = *++YYCURSOR; +yy149: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy150; default: goto yy81; } -yy150: yych = *++YYCURSOR; +yy150: + yych = *++YYCURSOR; switch(yych){ case 'R': goto yy151; default: goto yy81; } -yy151: ++YYCURSOR; +yy151: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1749,9 +1859,10 @@ yy151: ++YYCURSOR; } yy152: #line 131 "modula.re" -{RETURN(60);} -#line 1719 "" -yy153: ++YYCURSOR; + {RETURN(60);} +#line 1829 "" +yy153: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1819,9 +1930,10 @@ yy153: ++YYCURSOR; } yy154: #line 129 "modula.re" -{RETURN(58);} -#line 1787 "" -yy155: ++YYCURSOR; + {RETURN(58);} +#line 1898 "" +yy155: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1889,14 +2001,16 @@ yy155: ++YYCURSOR; } yy156: #line 130 "modula.re" -{RETURN(59);} -#line 1855 "" -yy157: yych = *++YYCURSOR; + {RETURN(59);} +#line 1967 "" +yy157: + yych = *++YYCURSOR; switch(yych){ case 'T': goto yy158; default: goto yy81; } -yy158: ++YYCURSOR; +yy158: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1964,14 +2078,16 @@ yy158: ++YYCURSOR; } yy159: #line 128 "modula.re" -{RETURN(57);} -#line 1928 "" -yy160: yych = *++YYCURSOR; + {RETURN(57);} +#line 2042 "" +yy160: + yych = *++YYCURSOR; switch(yych){ case 'D': goto yy161; default: goto yy81; } -yy161: ++YYCURSOR; +yy161: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2039,19 +2155,22 @@ yy161: ++YYCURSOR; } yy162: #line 126 "modula.re" -{RETURN(55);} -#line 2000 "" -yy163: yych = *++YYCURSOR; + {RETURN(55);} +#line 2116 "" +yy163: + yych = *++YYCURSOR; switch(yych){ case 'L': goto yy164; default: goto yy81; } -yy164: yych = *++YYCURSOR; +yy164: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy165; default: goto yy81; } -yy165: ++YYCURSOR; +yy165: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2119,19 +2238,22 @@ yy165: ++YYCURSOR; } yy166: #line 127 "modula.re" -{RETURN(56);} -#line 2078 "" -yy167: yych = *++YYCURSOR; + {RETURN(56);} +#line 2197 "" +yy167: + yych = *++YYCURSOR; switch(yych){ case 'O': goto yy168; default: goto yy81; } -yy168: yych = *++YYCURSOR; +yy168: + yych = *++YYCURSOR; switch(yych){ case 'P': goto yy169; default: goto yy81; } -yy169: ++YYCURSOR; +yy169: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2199,9 +2321,10 @@ yy169: ++YYCURSOR; } yy170: #line 125 "modula.re" -{RETURN(54);} -#line 2156 "" -yy171: ++YYCURSOR; + {RETURN(54);} +#line 2278 "" +yy171: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2269,14 +2392,16 @@ yy171: ++YYCURSOR; } yy172: #line 121 "modula.re" -{RETURN(50);} -#line 2224 "" -yy173: yych = *++YYCURSOR; + {RETURN(50);} +#line 2347 "" +yy173: + yych = *++YYCURSOR; switch(yych){ case 'P': goto yy176; default: goto yy81; } -yy174: ++YYCURSOR; +yy174: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2344,30 +2469,35 @@ yy174: ++YYCURSOR; } yy175: #line 124 "modula.re" -{RETURN(53);} -#line 2297 "" -yy176: yych = *++YYCURSOR; + {RETURN(53);} +#line 2422 "" +yy176: + yych = *++YYCURSOR; switch(yych){ case 'L': goto yy177; case 'O': goto yy178; default: goto yy81; } -yy177: yych = *++YYCURSOR; +yy177: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy182; default: goto yy81; } -yy178: yych = *++YYCURSOR; +yy178: + yych = *++YYCURSOR; switch(yych){ case 'R': goto yy179; default: goto yy81; } -yy179: yych = *++YYCURSOR; +yy179: + yych = *++YYCURSOR; switch(yych){ case 'T': goto yy180; default: goto yy81; } -yy180: ++YYCURSOR; +yy180: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2435,54 +2565,64 @@ yy180: ++YYCURSOR; } yy181: #line 123 "modula.re" -{RETURN(52);} -#line 2386 "" -yy182: yych = *++YYCURSOR; + {RETURN(52);} +#line 2516 "" +yy182: + yych = *++YYCURSOR; switch(yych){ case 'M': goto yy183; default: goto yy81; } -yy183: yych = *++YYCURSOR; +yy183: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy184; default: goto yy81; } -yy184: yych = *++YYCURSOR; +yy184: + yych = *++YYCURSOR; switch(yych){ case 'N': goto yy185; default: goto yy81; } -yy185: yych = *++YYCURSOR; +yy185: + yych = *++YYCURSOR; switch(yych){ case 'T': goto yy186; default: goto yy81; } -yy186: yych = *++YYCURSOR; +yy186: + yych = *++YYCURSOR; switch(yych){ case 'A': goto yy187; default: goto yy81; } -yy187: yych = *++YYCURSOR; +yy187: + yych = *++YYCURSOR; switch(yych){ case 'T': goto yy188; default: goto yy81; } -yy188: yych = *++YYCURSOR; +yy188: + yych = *++YYCURSOR; switch(yych){ case 'I': goto yy189; default: goto yy81; } -yy189: yych = *++YYCURSOR; +yy189: + yych = *++YYCURSOR; switch(yych){ case 'O': goto yy190; default: goto yy81; } -yy190: yych = *++YYCURSOR; +yy190: + yych = *++YYCURSOR; switch(yych){ case 'N': goto yy191; default: goto yy81; } -yy191: ++YYCURSOR; +yy191: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2550,24 +2690,28 @@ yy191: ++YYCURSOR; } yy192: #line 122 "modula.re" -{RETURN(51);} -#line 2499 "" -yy193: yych = *++YYCURSOR; + {RETURN(51);} +#line 2639 "" +yy193: + yych = *++YYCURSOR; switch(yych){ case 'R': goto yy198; default: goto yy81; } -yy194: yych = *++YYCURSOR; +yy194: + yych = *++YYCURSOR; switch(yych){ case 'O': goto yy195; default: goto yy81; } -yy195: yych = *++YYCURSOR; +yy195: + yych = *++YYCURSOR; switch(yych){ case 'M': goto yy196; default: goto yy81; } -yy196: ++YYCURSOR; +yy196: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2635,9 +2779,10 @@ yy196: ++YYCURSOR; } yy197: #line 120 "modula.re" -{RETURN(49);} -#line 2582 "" -yy198: ++YYCURSOR; + {RETURN(49);} +#line 2726 "" +yy198: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2705,45 +2850,53 @@ yy198: ++YYCURSOR; } yy199: #line 119 "modula.re" -{RETURN(48);} -#line 2650 "" -yy200: yych = *++YYCURSOR; + {RETURN(48);} +#line 2795 "" +yy200: + yych = *++YYCURSOR; switch(yych){ case 'S': goto yy213; default: goto yy81; } -yy201: yych = *++YYCURSOR; +yy201: + yych = *++YYCURSOR; switch(yych){ case 'D': goto yy211; default: goto yy81; } -yy202: yych = *++YYCURSOR; +yy202: + yych = *++YYCURSOR; switch(yych){ case 'I': goto yy203; case 'P': goto yy204; default: goto yy81; } -yy203: yych = *++YYCURSOR; +yy203: + yych = *++YYCURSOR; switch(yych){ case 'T': goto yy209; default: goto yy81; } -yy204: yych = *++YYCURSOR; +yy204: + yych = *++YYCURSOR; switch(yych){ case 'O': goto yy205; default: goto yy81; } -yy205: yych = *++YYCURSOR; +yy205: + yych = *++YYCURSOR; switch(yych){ case 'R': goto yy206; default: goto yy81; } -yy206: yych = *++YYCURSOR; +yy206: + yych = *++YYCURSOR; switch(yych){ case 'T': goto yy207; default: goto yy81; } -yy207: ++YYCURSOR; +yy207: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2811,9 +2964,10 @@ yy207: ++YYCURSOR; } yy208: #line 118 "modula.re" -{RETURN(47);} -#line 2754 "" -yy209: ++YYCURSOR; + {RETURN(47);} +#line 2907 "" +yy209: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2881,9 +3035,10 @@ yy209: ++YYCURSOR; } yy210: #line 117 "modula.re" -{RETURN(46);} -#line 2822 "" -yy211: ++YYCURSOR; + {RETURN(46);} +#line 2976 "" +yy211: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -2951,15 +3106,17 @@ yy211: ++YYCURSOR; } yy212: #line 116 "modula.re" -{RETURN(45);} -#line 2890 "" -yy213: yych = *++YYCURSOR; + {RETURN(45);} +#line 3045 "" +yy213: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy214; case 'I': goto yy216; default: goto yy81; } -yy214: ++YYCURSOR; +yy214: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3027,14 +3184,16 @@ yy214: ++YYCURSOR; } yy215: #line 114 "modula.re" -{RETURN(43);} -#line 2964 "" -yy216: yych = *++YYCURSOR; + {RETURN(43);} +#line 3121 "" +yy216: + yych = *++YYCURSOR; switch(yych){ case 'F': goto yy217; default: goto yy81; } -yy217: ++YYCURSOR; +yy217: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3102,19 +3261,22 @@ yy217: ++YYCURSOR; } yy218: #line 115 "modula.re" -{RETURN(44);} -#line 3037 "" -yy219: yych = *++YYCURSOR; + {RETURN(44);} +#line 3196 "" +yy219: + yych = *++YYCURSOR; switch(yych){ case 'F': goto yy225; default: goto yy81; } -yy220: yych = *++YYCURSOR; +yy220: + yych = *++YYCURSOR; switch(yych){ case 'V': goto yy223; default: goto yy81; } -yy221: ++YYCURSOR; +yy221: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3182,9 +3344,10 @@ yy221: ++YYCURSOR; } yy222: #line 113 "modula.re" -{RETURN(42);} -#line 3115 "" -yy223: ++YYCURSOR; + {RETURN(42);} +#line 3277 "" +yy223: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3252,44 +3415,52 @@ yy223: ++YYCURSOR; } yy224: #line 112 "modula.re" -{RETURN(41);} -#line 3183 "" -yy225: yych = *++YYCURSOR; + {RETURN(41);} +#line 3346 "" +yy225: + yych = *++YYCURSOR; switch(yych){ case 'I': goto yy226; default: goto yy81; } -yy226: yych = *++YYCURSOR; +yy226: + yych = *++YYCURSOR; switch(yych){ case 'N': goto yy227; default: goto yy81; } -yy227: yych = *++YYCURSOR; +yy227: + yych = *++YYCURSOR; switch(yych){ case 'I': goto yy228; default: goto yy81; } -yy228: yych = *++YYCURSOR; +yy228: + yych = *++YYCURSOR; switch(yych){ case 'T': goto yy229; default: goto yy81; } -yy229: yych = *++YYCURSOR; +yy229: + yych = *++YYCURSOR; switch(yych){ case 'I': goto yy230; default: goto yy81; } -yy230: yych = *++YYCURSOR; +yy230: + yych = *++YYCURSOR; switch(yych){ case 'O': goto yy231; default: goto yy81; } -yy231: yych = *++YYCURSOR; +yy231: + yych = *++YYCURSOR; switch(yych){ case 'N': goto yy232; default: goto yy81; } -yy232: ++YYCURSOR; +yy232: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3357,29 +3528,34 @@ yy232: ++YYCURSOR; } yy233: #line 111 "modula.re" -{RETURN(40);} -#line 3286 "" -yy234: yych = *++YYCURSOR; + {RETURN(40);} +#line 3457 "" +yy234: + yych = *++YYCURSOR; switch(yych){ case 'S': goto yy240; default: goto yy81; } -yy235: yych = *++YYCURSOR; +yy235: + yych = *++YYCURSOR; switch(yych){ case 'N': goto yy236; default: goto yy81; } -yy236: yych = *++YYCURSOR; +yy236: + yych = *++YYCURSOR; switch(yych){ case 'S': goto yy237; default: goto yy81; } -yy237: yych = *++YYCURSOR; +yy237: + yych = *++YYCURSOR; switch(yych){ case 'T': goto yy238; default: goto yy81; } -yy238: ++YYCURSOR; +yy238: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3447,14 +3623,16 @@ yy238: ++YYCURSOR; } yy239: #line 110 "modula.re" -{RETURN(39);} -#line 3374 "" -yy240: yych = *++YYCURSOR; + {RETURN(39);} +#line 3550 "" +yy240: + yych = *++YYCURSOR; switch(yych){ case 'E': goto yy241; default: goto yy81; } -yy241: ++YYCURSOR; +yy241: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3522,14 +3700,16 @@ yy241: ++YYCURSOR; } yy242: #line 109 "modula.re" -{RETURN(38);} -#line 3447 "" -yy243: yych = *++YYCURSOR; + {RETURN(38);} +#line 3625 "" +yy243: + yych = *++YYCURSOR; switch(yych){ case 'G': goto yy246; default: goto yy81; } -yy244: ++YYCURSOR; +yy244: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3597,19 +3777,22 @@ yy244: ++YYCURSOR; } yy245: #line 108 "modula.re" -{RETURN(37);} -#line 3520 "" -yy246: yych = *++YYCURSOR; + {RETURN(37);} +#line 3700 "" +yy246: + yych = *++YYCURSOR; switch(yych){ case 'I': goto yy247; default: goto yy81; } -yy247: yych = *++YYCURSOR; +yy247: + yych = *++YYCURSOR; switch(yych){ case 'N': goto yy248; default: goto yy81; } -yy248: ++YYCURSOR; +yy248: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3677,29 +3860,34 @@ yy248: ++YYCURSOR; } yy249: #line 107 "modula.re" -{RETURN(36);} -#line 3598 "" -yy250: yych = *++YYCURSOR; + {RETURN(36);} +#line 3781 "" +yy250: + yych = *++YYCURSOR; switch(yych){ case 'D': goto yy256; default: goto yy81; } -yy251: yych = *++YYCURSOR; +yy251: + yych = *++YYCURSOR; switch(yych){ case 'R': goto yy252; default: goto yy81; } -yy252: yych = *++YYCURSOR; +yy252: + yych = *++YYCURSOR; switch(yych){ case 'A': goto yy253; default: goto yy81; } -yy253: yych = *++YYCURSOR; +yy253: + yych = *++YYCURSOR; switch(yych){ case 'Y': goto yy254; default: goto yy81; } -yy254: ++YYCURSOR; +yy254: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3767,9 +3955,10 @@ yy254: ++YYCURSOR; } yy255: #line 106 "modula.re" -{RETURN(35);} -#line 3686 "" -yy256: ++YYCURSOR; + {RETURN(35);} +#line 3874 "" +yy256: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -3837,48 +4026,56 @@ yy256: ++YYCURSOR; } yy257: #line 105 "modula.re" -{RETURN(34);} -#line 3754 "" -yy258: ++YYCURSOR; + {RETURN(34);} +#line 3943 "" +yy258: + ++YYCURSOR; goto yy259; yy259: #line 96 "modula.re" -{RETURN(26);} -#line 3760 "" -yy260: ++YYCURSOR; + {RETURN(26);} +#line 3950 "" +yy260: + ++YYCURSOR; goto yy261; yy261: #line 93 "modula.re" -{RETURN(23);} -#line 3766 "" -yy262: ++YYCURSOR; + {RETURN(23);} +#line 3957 "" +yy262: + ++YYCURSOR; goto yy263; yy263: #line 92 "modula.re" -{RETURN(22);} -#line 3772 "" -yy264: ++YYCURSOR; + {RETURN(22);} +#line 3964 "" +yy264: + ++YYCURSOR; goto yy265; yy265: #line 89 "modula.re" -{RETURN(19);} -#line 3778 "" -yy266: ++YYCURSOR; + {RETURN(19);} +#line 3971 "" +yy266: + ++YYCURSOR; goto yy267; yy267: #line 86 "modula.re" -{RETURN(16);} -#line 3784 "" -yy268: ++YYCURSOR; + {RETURN(16);} +#line 3978 "" +yy268: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy269; -yy269: switch(yych){ +yy269: + switch(yych){ case 0x0A: goto yy270; case '"': goto yy271; default: goto yy268; } -yy270: YYCURSOR = YYMARKER; +yy270: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy5; case 3: goto yy294; @@ -3886,22 +4083,26 @@ yy270: YYCURSOR = YYMARKER; case 2: goto yy276; case 1: goto yy8; } -yy271: ++YYCURSOR; +yy271: + ++YYCURSOR; goto yy272; yy272: #line 75 "modula.re" -{RETURN(6);} -#line 3807 "" -yy273: ++YYCURSOR; + {RETURN(6);} +#line 4005 "" +yy273: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy274; -yy274: switch(yych){ +yy274: + switch(yych){ case 0x0A: goto yy270; case '\'': goto yy271; default: goto yy273; } -yy275: yyaccept = 2; +yy275: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case '.': goto yy283; @@ -3909,14 +4110,16 @@ yy275: yyaccept = 2; } yy276: #line 74 "modula.re" -{RETURN(5);} -#line 3826 "" -yy277: yyaccept = 0; + {RETURN(5);} +#line 4027 "" +yy277: + yyaccept = 0; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; goto yy278; -yy278: switch(yych){ +yy278: + switch(yych){ case '.': goto yy275; case '0': case '1': @@ -3937,11 +4140,13 @@ yy278: switch(yych){ case 'H': goto yy281; default: goto yy5; } -yy279: ++YYCURSOR; +yy279: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy280; -yy280: switch(yych){ +yy280: + switch(yych){ case '0': case '1': case '2': @@ -3961,24 +4166,28 @@ yy280: switch(yych){ case 'H': goto yy281; default: goto yy270; } -yy281: ++YYCURSOR; +yy281: + ++YYCURSOR; goto yy282; yy282: #line 73 "modula.re" -{RETURN(4);} -#line 3881 "" -yy283: ++YYCURSOR; + {RETURN(4);} +#line 4087 "" +yy283: + ++YYCURSOR; goto yy284; -yy284: YYCURSOR -= 2; -#line 70 "modula.re" -{RETURN(1);} -#line 3887 "" -yy285: yyaccept = 2; +yy284: + YYCURSOR -= 2;#line 70 "modula.re" + {RETURN(1);} +#line 4094 "" +yy285: + yyaccept = 2; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; goto yy286; -yy286: switch(yych){ +yy286: + switch(yych){ case '0': case '1': case '2': @@ -3992,7 +4201,8 @@ yy286: switch(yych){ case 'E': goto yy287; default: goto yy276; } -yy287: yych = *++YYCURSOR; +yy287: + yych = *++YYCURSOR; switch(yych){ case '+': case '-': goto yy288; @@ -4008,7 +4218,8 @@ yy287: yych = *++YYCURSOR; case '9': goto yy289; default: goto yy270; } -yy288: yych = *++YYCURSOR; +yy288: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -4022,11 +4233,13 @@ yy288: yych = *++YYCURSOR; case '9': goto yy289; default: goto yy270; } -yy289: ++YYCURSOR; +yy289: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy290; -yy290: switch(yych){ +yy290: + switch(yych){ case '0': case '1': case '2': @@ -4039,12 +4252,14 @@ yy290: switch(yych){ case '9': goto yy289; default: goto yy276; } -yy291: yyaccept = 0; +yy291: + yyaccept = 0; YYMARKER = ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; goto yy292; -yy292: switch(yych){ +yy292: + switch(yych){ case '.': goto yy275; case '0': case '1': @@ -4065,7 +4280,8 @@ yy292: switch(yych){ case 'H': goto yy281; default: goto yy5; } -yy293: yyaccept = 3; +yy293: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case '0': @@ -4089,9 +4305,10 @@ yy293: yyaccept = 3; } yy294: #line 71 "modula.re" -{RETURN(2);} -#line 4002 "" -yy295: yyaccept = 4; + {RETURN(2);} +#line 4218 "" +yy295: + yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case '0': @@ -4115,20 +4332,21 @@ yy295: yyaccept = 4; } yy296: #line 72 "modula.re" -{RETURN(3);} -#line 4027 "" -yy297: ++YYCURSOR; + {RETURN(3);} +#line 4244 "" +yy297: + ++YYCURSOR; goto yy298; yy298: #line 67 "modula.re" -{ depth = 1; goto comment; } -#line 4033 "" + { depth = 1; goto comment; } +#line 4251 "" } #line 162 "modula.re" comment: -#line 4039 "" +#line 4257 "" { YYCTYPE yych; goto yy299; @@ -4142,49 +4360,55 @@ yy299: case '*': goto yy301; default: goto yy306; } -yy301: ++YYCURSOR; +yy301: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case ')': goto yy309; default: goto yy302; } yy302: #line 179 "modula.re" -{ goto comment; } -#line 4061 "" -yy303: yych = *++YYCURSOR; + { goto comment; } +#line 4280 "" +yy303: + yych = *++YYCURSOR; switch(yych){ case '*': goto yy307; default: goto yy302; } -yy304: ++YYCURSOR; +yy304: + ++YYCURSOR; goto yy305; yy305: #line 174 "modula.re" -{ + { if(cursor == s->eof) RETURN(0); s->tok = s->pos = cursor; s->line++; goto comment; } -#line 4076 "" -yy306: yych = *++YYCURSOR; +#line 4297 "" +yy306: + yych = *++YYCURSOR; goto yy302; -yy307: ++YYCURSOR; +yy307: + ++YYCURSOR; goto yy308; yy308: #line 172 "modula.re" -{ ++depth; goto comment; } -#line 4084 "" -yy309: ++YYCURSOR; + { ++depth; goto comment; } +#line 4307 "" +yy309: + ++YYCURSOR; goto yy310; yy310: #line 166 "modula.re" -{ + { if(--depth == 0) goto std; else goto comment; } -#line 4095 "" +#line 4319 "" } #line 180 "modula.re" diff --git a/test/push.c b/test/push.c index 3823b364..f1a49c59 100755 --- a/test/push.c +++ b/test/push.c @@ -317,127 +317,150 @@ yy0: case 'w': goto yy8; default: goto yy34; } -yy2: ++YYCURSOR; +yy2: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case 'f': goto yy67; default: goto yy39; } yy3: #line 246 "push.re" -{ SEND(kIdentifier); } -#line 321 "" -yy4: yych = *++YYCURSOR; + { SEND(kIdentifier); } +#line 322 "" +yy4: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy64; default: goto yy39; } -yy5: yych = *++YYCURSOR; +yy5: + yych = *++YYCURSOR; switch(yych){ case 'l': goto yy60; default: goto yy39; } -yy6: yych = *++YYCURSOR; +yy6: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy56; default: goto yy39; } -yy7: yych = *++YYCURSOR; +yy7: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy51; default: goto yy39; } -yy8: yych = *++YYCURSOR; +yy8: + yych = *++YYCURSOR; switch(yych){ case 'h': goto yy46; default: goto yy39; } -yy9: yych = *++YYCURSOR; +yy9: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy40; default: goto yy39; } -yy10: yych = *++YYCURSOR; +yy10: + yych = *++YYCURSOR; goto yy39; -yy11: yych = *++YYCURSOR; +yy11: + yych = *++YYCURSOR; goto yy39; -yy12: ++YYCURSOR; +yy12: + ++YYCURSOR; yych = *YYCURSOR; goto yy37; yy13: #line 247 "push.re" -{ SEND(kDecimalConstant);} -#line 362 "" -yy14: ++YYCURSOR; + { SEND(kDecimalConstant);} +#line 372 "" +yy14: + ++YYCURSOR; goto yy15; yy15: #line 249 "push.re" -{ SEND(kEqual); } -#line 368 "" -yy16: ++YYCURSOR; + { SEND(kEqual); } +#line 379 "" +yy16: + ++YYCURSOR; goto yy17; yy17: #line 250 "push.re" -{ SEND(kLeftParen); } -#line 374 "" -yy18: ++YYCURSOR; + { SEND(kLeftParen); } +#line 386 "" +yy18: + ++YYCURSOR; goto yy19; yy19: #line 251 "push.re" -{ SEND(kRightParen); } -#line 380 "" -yy20: ++YYCURSOR; + { SEND(kRightParen); } +#line 393 "" +yy20: + ++YYCURSOR; goto yy21; yy21: #line 252 "push.re" -{ SEND(kMinus); } -#line 386 "" -yy22: ++YYCURSOR; + { SEND(kMinus); } +#line 400 "" +yy22: + ++YYCURSOR; goto yy23; yy23: #line 253 "push.re" -{ SEND(kPlus); } -#line 392 "" -yy24: ++YYCURSOR; + { SEND(kPlus); } +#line 407 "" +yy24: + ++YYCURSOR; goto yy25; yy25: #line 254 "push.re" -{ SEND(kStar); } -#line 398 "" -yy26: ++YYCURSOR; + { SEND(kStar); } +#line 414 "" +yy26: + ++YYCURSOR; goto yy27; yy27: #line 255 "push.re" -{ SEND(kSlash); } -#line 404 "" -yy28: ++YYCURSOR; + { SEND(kSlash); } +#line 421 "" +yy28: + ++YYCURSOR; goto yy29; yy29: #line 257 "push.re" -{ SKIP(); } -#line 410 "" -yy30: ++YYCURSOR; + { SKIP(); } +#line 428 "" +yy30: + ++YYCURSOR; goto yy31; yy31: #line 258 "push.re" -{ SKIP(); } -#line 416 "" -yy32: ++YYCURSOR; + { SKIP(); } +#line 435 "" +yy32: + ++YYCURSOR; goto yy33; yy33: #line 259 "push.re" -{ send(kEOF); return 1; } -#line 422 "" -yy34: ++YYCURSOR; + { send(kEOF); return 1; } +#line 442 "" +yy34: + ++YYCURSOR; goto yy35; yy35: #line 260 "push.re" -{ SEND(kUnknown); } -#line 428 "" -yy36: ++YYCURSOR; + { SEND(kUnknown); } +#line 449 "" +yy36: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy37; -yy37: switch(yych){ +yy37: + switch(yych){ case '0': case '1': case '2': @@ -450,11 +473,13 @@ yy37: switch(yych){ case '9': goto yy36; default: goto yy13; } -yy38: ++YYCURSOR; +yy38: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy39; -yy39: switch(yych){ +yy39: + switch(yych){ case '0': case '1': case '2': @@ -520,27 +545,32 @@ yy39: switch(yych){ case 'z': goto yy38; default: goto yy3; } -yy40: yych = *++YYCURSOR; +yy40: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy41; default: goto yy39; } -yy41: yych = *++YYCURSOR; +yy41: + yych = *++YYCURSOR; switch(yych){ case 'u': goto yy42; default: goto yy39; } -yy42: yych = *++YYCURSOR; +yy42: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy43; default: goto yy39; } -yy43: yych = *++YYCURSOR; +yy43: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy44; default: goto yy39; } -yy44: ++YYCURSOR; +yy44: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -609,24 +639,28 @@ yy44: ++YYCURSOR; } yy45: #line 245 "push.re" -{ SEND(kReturn); } -#line 600 "" -yy46: yych = *++YYCURSOR; + { SEND(kReturn); } +#line 630 "" +yy46: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy47; default: goto yy39; } -yy47: yych = *++YYCURSOR; +yy47: + yych = *++YYCURSOR; switch(yych){ case 'l': goto yy48; default: goto yy39; } -yy48: yych = *++YYCURSOR; +yy48: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy49; default: goto yy39; } -yy49: ++YYCURSOR; +yy49: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -695,24 +729,28 @@ yy49: ++YYCURSOR; } yy50: #line 244 "push.re" -{ SEND(kWhile); } -#line 683 "" -yy51: yych = *++YYCURSOR; + { SEND(kWhile); } +#line 717 "" +yy51: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy52; default: goto yy39; } -yy52: yych = *++YYCURSOR; +yy52: + yych = *++YYCURSOR; switch(yych){ case 'a': goto yy53; default: goto yy39; } -yy53: yych = *++YYCURSOR; +yy53: + yych = *++YYCURSOR; switch(yych){ case 'k': goto yy54; default: goto yy39; } -yy54: ++YYCURSOR; +yy54: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -781,19 +819,22 @@ yy54: ++YYCURSOR; } yy55: #line 243 "push.re" -{ SEND(kBreak); } -#line 766 "" -yy56: yych = *++YYCURSOR; + { SEND(kBreak); } +#line 804 "" +yy56: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy57; default: goto yy39; } -yy57: yych = *++YYCURSOR; +yy57: + yych = *++YYCURSOR; switch(yych){ case 'o': goto yy58; default: goto yy39; } -yy58: ++YYCURSOR; +yy58: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -862,19 +903,22 @@ yy58: ++YYCURSOR; } yy59: #line 242 "push.re" -{ SEND(kGoto); } -#line 844 "" -yy60: yych = *++YYCURSOR; + { SEND(kGoto); } +#line 885 "" +yy60: + yych = *++YYCURSOR; switch(yych){ case 's': goto yy61; default: goto yy39; } -yy61: yych = *++YYCURSOR; +yy61: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy62; default: goto yy39; } -yy62: ++YYCURSOR; +yy62: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -943,14 +987,16 @@ yy62: ++YYCURSOR; } yy63: #line 241 "push.re" -{ SEND(kElse); } -#line 922 "" -yy64: yych = *++YYCURSOR; + { SEND(kElse); } +#line 966 "" +yy64: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy65; default: goto yy39; } -yy65: ++YYCURSOR; +yy65: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1019,9 +1065,10 @@ yy65: ++YYCURSOR; } yy66: #line 240 "push.re" -{ SEND(kFor); } -#line 995 "" -yy67: ++YYCURSOR; + { SEND(kFor); } +#line 1041 "" +yy67: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '0': case '1': @@ -1090,8 +1137,8 @@ yy67: ++YYCURSOR; } yy68: #line 239 "push.re" -{ SEND(kIf); } -#line 1063 "" + { SEND(kIf); } +#line 1110 "" } #line 261 "push.re" diff --git a/test/repeater.c b/test/repeater.c index 8f680864..1ef33071 100644 --- a/test/repeater.c +++ b/test/repeater.c @@ -31,7 +31,8 @@ yy0: case 'a': goto yy4; default: goto yy6; } -yy2: yyaccept = 0; +yy2: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy10; @@ -41,9 +42,10 @@ yy2: yyaccept = 0; } yy3: #line 22 "repeater.re" -{RET(5);} -#line 44 "" -yy4: yyaccept = 1; + {RET(5);} +#line 45 "" +yy4: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy10; @@ -53,79 +55,93 @@ yy4: yyaccept = 1; } yy5: #line 23 "repeater.re" -{RET(0);} -#line 55 "" -yy6: yych = *++YYCURSOR; + {RET(0);} +#line 57 "" +yy6: + yych = *++YYCURSOR; goto yy3; -yy7: yych = *++YYCURSOR; +yy7: + yych = *++YYCURSOR; goto yy5; -yy8: yych = *++YYCURSOR; +yy8: + yych = *++YYCURSOR; switch(yych){ case 0x0A: goto yy13; case 'A': case 'a': goto yy12; default: goto yy9; } -yy9: YYCURSOR = YYMARKER; +yy9: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy3; case 1: goto yy5; } -yy10: ++YYCURSOR; +yy10: + ++YYCURSOR; goto yy11; yy11: #line 18 "repeater.re" -{RET(1);} -#line 76 "" -yy12: yych = *++YYCURSOR; + {RET(1);} +#line 83 "" +yy12: + yych = *++YYCURSOR; switch(yych){ case 0x0A: goto yy13; case 'A': case 'a': goto yy15; default: goto yy9; } -yy13: ++YYCURSOR; +yy13: + ++YYCURSOR; goto yy14; yy14: #line 19 "repeater.re" -{RET(2);} -#line 88 "" -yy15: yych = *++YYCURSOR; + {RET(2);} +#line 97 "" +yy15: + yych = *++YYCURSOR; switch(yych){ case 0x0A: goto yy17; case 'A': case 'a': goto yy16; default: goto yy9; } -yy16: yych = *++YYCURSOR; +yy16: + yych = *++YYCURSOR; switch(yych){ case 0x0A: goto yy17; case 'A': case 'a': goto yy19; default: goto yy9; } -yy17: ++YYCURSOR; +yy17: + ++YYCURSOR; goto yy18; yy18: #line 21 "repeater.re" -{RET(4);} -#line 106 "" -yy19: yych = *++YYCURSOR; + {RET(4);} +#line 118 "" +yy19: + yych = *++YYCURSOR; switch(yych){ case 0x0A: goto yy20; default: goto yy23; } -yy20: ++YYCURSOR; +yy20: + ++YYCURSOR; goto yy21; yy21: #line 20 "repeater.re" -{RET(3);} -#line 117 "" -yy22: ++YYCURSOR; + {RET(3);} +#line 131 "" +yy22: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy23; -yy23: switch(yych){ +yy23: + switch(yych){ case 0x0A: goto yy17; case 'A': case 'a': goto yy22; diff --git a/test/sample.c b/test/sample.c index ae92984d..91890493 100644 --- a/test/sample.c +++ b/test/sample.c @@ -49,18 +49,21 @@ yy0: case 'p': goto yy2; default: goto yy8; } -yy2: ++YYCURSOR; +yy2: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case 'r': goto yy19; default: goto yy18; } yy3: #line 3 "sample.re" -{return ID;} -#line 60 "" -yy4: yych = *++YYCURSOR; + {return ID;} +#line 61 "" +yy4: + yych = *++YYCURSOR; goto yy18; -yy5: yyaccept = 0; +yy5: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 'x': goto yy12; @@ -68,21 +71,25 @@ yy5: yyaccept = 0; } yy6: #line 4 "sample.re" -{return DEC;} -#line 72 "" -yy7: yych = *++YYCURSOR; + {return DEC;} +#line 75 "" +yy7: + yych = *++YYCURSOR; goto yy11; -yy8: ++YYCURSOR; +yy8: + ++YYCURSOR; goto yy9; yy9: #line 6 "sample.re" -{return ERR;} -#line 80 "" -yy10: ++YYCURSOR; + {return ERR;} +#line 85 "" +yy10: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy11; -yy11: switch(yych){ +yy11: + switch(yych){ case '0': case '1': case '2': @@ -95,7 +102,8 @@ yy11: switch(yych){ case '9': goto yy10; default: goto yy6; } -yy12: yych = *++YYCURSOR; +yy12: + yych = *++YYCURSOR; switch(yych){ case '0': case '1': @@ -115,15 +123,18 @@ yy12: yych = *++YYCURSOR; case 'f': goto yy14; default: goto yy13; } -yy13: YYCURSOR = YYMARKER; +yy13: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy6; } -yy14: ++YYCURSOR; +yy14: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy15; -yy15: switch(yych){ +yy15: + switch(yych){ case '0': case '1': case '2': @@ -144,13 +155,15 @@ yy15: switch(yych){ } yy16: #line 5 "sample.re" -{return HEX;} -#line 146 "" -yy17: ++YYCURSOR; + {return HEX;} +#line 157 "" +yy17: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy18; -yy18: switch(yych){ +yy18: + switch(yych){ case 'a': case 'b': case 'c': @@ -179,22 +192,26 @@ yy18: switch(yych){ case 'z': goto yy17; default: goto yy3; } -yy19: yych = *++YYCURSOR; +yy19: + yych = *++YYCURSOR; switch(yych){ case 'i': goto yy20; default: goto yy18; } -yy20: yych = *++YYCURSOR; +yy20: + yych = *++YYCURSOR; switch(yych){ case 'n': goto yy21; default: goto yy18; } -yy21: yych = *++YYCURSOR; +yy21: + yych = *++YYCURSOR; switch(yych){ case 't': goto yy22; default: goto yy18; } -yy22: ++YYCURSOR; +yy22: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case 'a': case 'b': @@ -226,8 +243,8 @@ yy22: ++YYCURSOR; } yy23: #line 2 "sample.re" -{return PRINT;} -#line 228 "" + {return PRINT;} +#line 245 "" } #line 7 "sample.re" diff --git a/test/scanner.c b/test/scanner.c index 4ee81313..8a942087 100644 --- a/test/scanner.c +++ b/test/scanner.c @@ -89,7 +89,8 @@ yy0: case '/': goto yy2; default: goto yy6; } -yy2: yyaccept = 0; +yy2: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case '*': goto yy7; @@ -97,56 +98,65 @@ yy2: yyaccept = 0; } yy3: #line 91 "scanner.re" -{ goto echo; } -#line 102 "" -yy4: ++YYCURSOR; + { goto echo; } +#line 103 "" +yy4: + ++YYCURSOR; goto yy5; yy5: #line 87 "scanner.re" -{ if(cursor == eof) RETURN(0); + { if(cursor == eof) RETURN(0); out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); tok = pos = cursor; cline++; goto echo; } -#line 111 "" -yy6: yych = *++YYCURSOR; +#line 113 "" +yy6: + yych = *++YYCURSOR; goto yy3; -yy7: yych = *++YYCURSOR; +yy7: + yych = *++YYCURSOR; switch(yych){ case '!': goto yy9; default: goto yy8; } -yy8: YYCURSOR = YYMARKER; +yy8: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy3; } -yy9: yych = *++YYCURSOR; +yy9: + yych = *++YYCURSOR; switch(yych){ case 'r': goto yy10; default: goto yy8; } -yy10: yych = *++YYCURSOR; +yy10: + yych = *++YYCURSOR; switch(yych){ case 'e': goto yy11; default: goto yy8; } -yy11: yych = *++YYCURSOR; +yy11: + yych = *++YYCURSOR; switch(yych){ case '2': goto yy12; default: goto yy8; } -yy12: yych = *++YYCURSOR; +yy12: + yych = *++YYCURSOR; switch(yych){ case 'c': goto yy13; default: goto yy8; } -yy13: ++YYCURSOR; +yy13: + ++YYCURSOR; goto yy14; yy14: #line 84 "scanner.re" -{ out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok)); + { out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok)); tok = cursor; RETURN(1); } -#line 150 "" +#line 160 "" } #line 92 "scanner.re" @@ -162,7 +172,7 @@ scan: tline = cline; tok = cursor; -#line 166 "" +#line 176 "" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -243,7 +253,8 @@ yy15: case '{': goto yy17; default: goto yy37; } -yy17: yyaccept = 0; +yy17: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case '0': @@ -260,30 +271,33 @@ yy17: yyaccept = 0; } yy18: #line 105 "scanner.re" -{ depth = 1; + { depth = 1; goto code; } -#line 260 "" -yy19: ++YYCURSOR; +#line 271 "" +yy19: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '*': goto yy61; default: goto yy20; } yy20: #line 131 "scanner.re" -{ RETURN(*tok); } -#line 269 "" -yy21: ++YYCURSOR; + { RETURN(*tok); } +#line 281 "" +yy21: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '/': goto yy59; default: goto yy22; } yy22: #line 133 "scanner.re" -{ yylval.op = *tok; + { yylval.op = *tok; RETURN(CLOSE); } -#line 279 "" -yy23: yyaccept = 1; +#line 292 "" +yy23: + yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy24; @@ -291,9 +305,10 @@ yy23: yyaccept = 1; } yy24: #line 122 "scanner.re" -{ fatal("unterminated string constant (missing \")"); } -#line 289 "" -yy25: yyaccept = 2; + { fatal("unterminated string constant (missing \")"); } +#line 303 "" +yy25: + yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy26; @@ -301,9 +316,10 @@ yy25: yyaccept = 2; } yy26: #line 123 "scanner.re" -{ fatal("unterminated string constant (missing ')"); } -#line 299 "" -yy27: yyaccept = 3; + { fatal("unterminated string constant (missing ')"); } +#line 314 "" +yy27: + yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy28; @@ -311,59 +327,69 @@ yy27: yyaccept = 3; } yy28: #line 129 "scanner.re" -{ fatal("unterminated range (missing ])"); } -#line 309 "" -yy29: yych = *++YYCURSOR; + { fatal("unterminated range (missing ])"); } +#line 325 "" +yy29: + yych = *++YYCURSOR; goto yy20; -yy30: yych = *++YYCURSOR; +yy30: + yych = *++YYCURSOR; goto yy22; -yy31: ++YYCURSOR; +yy31: + ++YYCURSOR; yych = *YYCURSOR; goto yy42; yy32: #line 148 "scanner.re" -{ cur = cursor; + { cur = cursor; yylval.symbol = Symbol::find(token()); return ID; } -#line 322 "" -yy33: ++YYCURSOR; +#line 341 "" +yy33: + ++YYCURSOR; yych = *YYCURSOR; goto yy40; yy34: #line 152 "scanner.re" -{ goto scan; } -#line 329 "" -yy35: ++YYCURSOR; + { goto scan; } +#line 349 "" +yy35: + ++YYCURSOR; goto yy36; yy36: #line 154 "scanner.re" -{ if(cursor == eof) RETURN(0); + { if(cursor == eof) RETURN(0); pos = cursor; cline++; goto scan; } -#line 338 "" -yy37: ++YYCURSOR; +#line 359 "" +yy37: + ++YYCURSOR; goto yy38; yy38: #line 159 "scanner.re" -{ std::cerr << "unexpected character: " << *tok << std::endl; + { std::cerr << "unexpected character: " << *tok << std::endl; goto scan; } -#line 346 "" -yy39: ++YYCURSOR; +#line 368 "" +yy39: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy40; -yy40: switch(yych){ +yy40: + switch(yych){ case 0x09: case ' ': goto yy39; default: goto yy34; } -yy41: ++YYCURSOR; +yy41: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy42; -yy42: switch(yych){ +yy42: + switch(yych){ case '0': case '1': case '2': @@ -428,107 +454,124 @@ yy42: switch(yych){ case 'z': goto yy41; default: goto yy32; } -yy43: ++YYCURSOR; +yy43: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy44; -yy44: switch(yych){ +yy44: + switch(yych){ case 0x0A: goto yy45; case '\\': goto yy46; case ']': goto yy47; default: goto yy43; } -yy45: YYCURSOR = YYMARKER; +yy45: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy18; case 1: goto yy24; case 2: goto yy26; case 3: goto yy28; } -yy46: ++YYCURSOR; +yy46: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ case 0x0A: goto yy45; default: goto yy43; } -yy47: ++YYCURSOR; +yy47: + ++YYCURSOR; goto yy48; yy48: #line 125 "scanner.re" -{ cur = cursor; + { cur = cursor; yylval.regexp = ranToRE(token()); return RANGE; } -#line 453 "" -yy49: ++YYCURSOR; +#line 484 "" +yy49: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy50; -yy50: switch(yych){ +yy50: + switch(yych){ case 0x0A: goto yy45; case '\'': goto yy52; case '\\': goto yy51; default: goto yy49; } -yy51: ++YYCURSOR; +yy51: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ case 0x0A: goto yy45; default: goto yy49; } -yy52: ++YYCURSOR; +yy52: + ++YYCURSOR; goto yy53; yy53: #line 118 "scanner.re" -{ cur = cursor; + { cur = cursor; yylval.regexp = strToCaseInsensitiveRE(token()); return STRING; } -#line 478 "" -yy54: ++YYCURSOR; +#line 513 "" +yy54: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy55; -yy55: switch(yych){ +yy55: + switch(yych){ case 0x0A: goto yy45; case '"': goto yy57; case '\\': goto yy56; default: goto yy54; } -yy56: ++YYCURSOR; +yy56: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ case 0x0A: goto yy45; default: goto yy54; } -yy57: ++YYCURSOR; +yy57: + ++YYCURSOR; goto yy58; yy58: #line 114 "scanner.re" -{ cur = cursor; + { cur = cursor; yylval.regexp = strToRE(token()); return STRING; } -#line 503 "" -yy59: ++YYCURSOR; +#line 542 "" +yy59: + ++YYCURSOR; goto yy60; yy60: #line 111 "scanner.re" -{ tok = cursor; + { tok = cursor; RETURN(0); } -#line 510 "" -yy61: ++YYCURSOR; +#line 550 "" +yy61: + ++YYCURSOR; goto yy62; yy62: #line 108 "scanner.re" -{ depth = 1; + { depth = 1; goto comment; } -#line 517 "" -yy63: ++YYCURSOR; +#line 558 "" +yy63: + ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; goto yy64; -yy64: switch(yych){ +yy64: + switch(yych){ case ',': goto yy67; case '0': case '1': @@ -543,32 +586,37 @@ yy64: switch(yych){ case '}': goto yy65; default: goto yy45; } -yy65: ++YYCURSOR; +yy65: + ++YYCURSOR; goto yy66; yy66: #line 136 "scanner.re" -{ yylval.extop.minsize = atoi((char *)tok+1); + { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); } -#line 544 "" -yy67: yych = *++YYCURSOR; +#line 588 "" +yy67: + yych = *++YYCURSOR; switch(yych){ case '}': goto yy68; default: goto yy71; } -yy68: ++YYCURSOR; +yy68: + ++YYCURSOR; goto yy69; yy69: #line 144 "scanner.re" -{ yylval.extop.minsize = atoi((char *)tok+1); + { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = -1; RETURN(CLOSESIZE); } -#line 557 "" -yy70: ++YYCURSOR; +#line 603 "" +yy70: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy71; -yy71: switch(yych){ +yy71: + switch(yych){ case '0': case '1': case '2': @@ -582,21 +630,22 @@ yy71: switch(yych){ case '}': goto yy72; default: goto yy45; } -yy72: ++YYCURSOR; +yy72: + ++YYCURSOR; goto yy73; yy73: #line 140 "scanner.re" -{ yylval.extop.minsize = atoi((char *)tok+1); + { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1)); RETURN(CLOSESIZE); } -#line 583 "" +#line 632 "" } #line 162 "scanner.re" code: -#line 590 "" +#line 639 "" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -613,83 +662,96 @@ yy74: case '}': goto yy76; default: goto yy82; } -yy76: ++YYCURSOR; +yy76: + ++YYCURSOR; goto yy77; yy77: #line 166 "scanner.re" -{ if(--depth == 0){ + { if(--depth == 0){ cur = cursor; yylval.token = new Token(token(), tline); return CODE; } goto code; } -#line 617 "" -yy78: ++YYCURSOR; +#line 667 "" +yy78: + ++YYCURSOR; goto yy79; yy79: #line 172 "scanner.re" -{ ++depth; + { ++depth; goto code; } -#line 624 "" -yy80: ++YYCURSOR; +#line 675 "" +yy80: + ++YYCURSOR; goto yy81; yy81: #line 174 "scanner.re" -{ if(cursor == eof) fatal("missing '}'"); + { if(cursor == eof) fatal("missing '}'"); pos = cursor; cline++; goto code; } -#line 633 "" -yy82: ++YYCURSOR; +#line 685 "" +yy82: + ++YYCURSOR; goto yy83; yy83: #line 178 "scanner.re" -{ goto code; } -#line 639 "" -yy84: yyaccept = 0; + { goto code; } +#line 692 "" +yy84: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy83; default: goto yy91; } -yy85: yyaccept = 0; +yy85: + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch(yych){ case 0x0A: goto yy83; default: goto yy87; } -yy86: ++YYCURSOR; +yy86: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy87; -yy87: switch(yych){ +yy87: + switch(yych){ case 0x0A: goto yy88; case '\'': goto yy82; case '\\': goto yy89; default: goto yy86; } -yy88: YYCURSOR = YYMARKER; +yy88: + YYCURSOR = YYMARKER; switch(yyaccept){ case 0: goto yy83; } -yy89: ++YYCURSOR; +yy89: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ case 0x0A: goto yy88; default: goto yy86; } -yy90: ++YYCURSOR; +yy90: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy91; -yy91: switch(yych){ +yy91: + switch(yych){ case 0x0A: goto yy88; case '"': goto yy82; case '\\': goto yy92; default: goto yy90; } -yy92: ++YYCURSOR; +yy92: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch(yych){ @@ -702,7 +764,7 @@ yy92: ++YYCURSOR; comment: -#line 696 "" +#line 758 "" { YYCTYPE yych; goto yy93; @@ -716,47 +778,53 @@ yy93: case '/': goto yy97; default: goto yy100; } -yy95: ++YYCURSOR; +yy95: + ++YYCURSOR; switch((yych = *YYCURSOR)) { case '/': goto yy103; default: goto yy96; } yy96: #line 193 "scanner.re" -{ goto comment; } -#line 718 "" -yy97: yych = *++YYCURSOR; + { goto comment; } +#line 781 "" +yy97: + yych = *++YYCURSOR; switch(yych){ case '*': goto yy101; default: goto yy96; } -yy98: ++YYCURSOR; +yy98: + ++YYCURSOR; goto yy99; yy99: #line 189 "scanner.re" -{ if(cursor == eof) RETURN(0); + { if(cursor == eof) RETURN(0); tok = pos = cursor; cline++; goto comment; } -#line 732 "" -yy100: yych = *++YYCURSOR; +#line 797 "" +yy100: + yych = *++YYCURSOR; goto yy96; -yy101: ++YYCURSOR; +yy101: + ++YYCURSOR; goto yy102; yy102: #line 187 "scanner.re" -{ ++depth; + { ++depth; goto comment; } -#line 741 "" -yy103: ++YYCURSOR; +#line 808 "" +yy103: + ++YYCURSOR; goto yy104; yy104: #line 183 "scanner.re" -{ if(--depth == 0) + { if(--depth == 0) goto scan; else goto comment; } -#line 750 "" +#line 818 "" } #line 194 "scanner.re" diff --git a/test/simple.c b/test/simple.c index e7d75272..ff4734d5 100644 --- a/test/simple.c +++ b/test/simple.c @@ -30,24 +30,28 @@ yy0: case '9': goto yy2; default: goto yy4; } -yy2: ++YYCURSOR; +yy2: + ++YYCURSOR; yych = *YYCURSOR; goto yy7; yy3: #line 10 "simple.re" -{return YYCURSOR;} -#line 40 "" -yy4: ++YYCURSOR; + {return YYCURSOR;} +#line 41 "" +yy4: + ++YYCURSOR; goto yy5; yy5: #line 11 "simple.re" -{return NULL;} -#line 46 "" -yy6: ++YYCURSOR; + {return NULL;} +#line 48 "" +yy6: + ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy7; -yy7: switch(yych){ +yy7: + switch(yych){ case '0': case '1': case '2':