-/* Generated by re2c 0.14.3 on Wed Aug 12 18:50:00 2015 */
+/* Generated by re2c 0.14.3 on Wed Aug 12 22:30:20 2015 */
#line 1 "../src/parse/scanner_lex.re"
#include <stdlib.h>
#include <string.h>
}
}
++YYCURSOR;
-#line 195 "../src/parse/scanner_lex.re"
+#line 199 "../src/parse/scanner_lex.re"
{
if (!(ignore_eoc || DFlag || flag_skeleton))
{
- out.write((const char*)(tok), (const char*)(cur) - (const char*)(tok) - 1);
+ out.write(tok, cur - tok - 1);
// -1 so we don't write out the \0
}
if(cur == eof)
yy4:
++YYCURSOR;
yy5:
-#line 206 "../src/parse/scanner_lex.re"
+#line 210 "../src/parse/scanner_lex.re"
{
goto echo;
}
}
if (yych == '#') goto yy91;
yy7:
-#line 182 "../src/parse/scanner_lex.re"
+#line 186 "../src/parse/scanner_lex.re"
{
if (ignore_eoc)
{
}
else if (!(DFlag || flag_skeleton))
{
- out.write((const char*)(tok), (const char*)(cur) - (const char*)(tok));
+ out.write(tok, cur - tok);
}
tok = pos = cur;
cline++;
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'c') goto yy12;
++YYCURSOR;
-#line 84 "../src/parse/scanner_lex.re"
+#line 87 "../src/parse/scanner_lex.re"
{
if (rFlag)
{
}
if (!(DFlag || flag_skeleton))
{
- out.write((const char*)(tok), (const char*)(&cur[-7]) - (const char*)(tok));
+ const size_t lexeme_len = cur[-1] == '{'
+ ? sizeof ("%{") - 1
+ : sizeof ("/*!re2c") - 1;
+ out.write(tok, cur - tok - lexeme_len);
}
tok = cur;
return Parse;
}
-#line 272 "src/parse/scanner_lex.cc"
+#line 275 "src/parse/scanner_lex.cc"
yy34:
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'e') goto yy12;
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'c') goto yy12;
++YYCURSOR;
-#line 96 "../src/parse/scanner_lex.re"
+#line 99 "../src/parse/scanner_lex.re"
{
if (!rFlag)
{
reuse();
if (!(DFlag || flag_skeleton))
{
- out.write((const char*)(tok), (const char*)(&cur[-11]) - (const char*)(tok));
+ const size_t lexeme_len = sizeof ("/*!use:re2c") - 1;
+ out.write(tok, cur - tok - lexeme_len);
}
tok = cur;
return Reuse;
}
-#line 301 "src/parse/scanner_lex.cc"
+#line 305 "src/parse/scanner_lex.cc"
yy42:
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'x') goto yy12;
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'c') goto yy12;
++YYCURSOR;
-#line 109 "../src/parse/scanner_lex.re"
+#line 113 "../src/parse/scanner_lex.re"
{
if (!DFlag)
{
ignore_eoc = true;
goto echo;
}
-#line 326 "src/parse/scanner_lex.cc"
+#line 330 "src/parse/scanner_lex.cc"
yy50:
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 't') goto yy12;
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'c') goto yy12;
++YYCURSOR;
-#line 118 "../src/parse/scanner_lex.re"
+#line 122 "../src/parse/scanner_lex.re"
{
tok = pos = cur;
out.insert_state_goto (topIndent);
ignore_eoc = true;
goto echo;
}
-#line 358 "src/parse/scanner_lex.cc"
+#line 362 "src/parse/scanner_lex.cc"
yy63:
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'n') goto yy12;
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'c') goto yy12;
++YYCURSOR;
-#line 124 "../src/parse/scanner_lex.re"
+#line 128 "../src/parse/scanner_lex.re"
{
tok = pos = cur;
ignore_eoc = true;
goto echo;
}
-#line 385 "src/parse/scanner_lex.cc"
+#line 389 "src/parse/scanner_lex.cc"
yy74:
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'p') goto yy12;
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'c') goto yy12;
++YYCURSOR;
-#line 129 "../src/parse/scanner_lex.re"
+#line 133 "../src/parse/scanner_lex.re"
{
tok = pos = cur;
ignore_eoc = true;
}
goto echo;
}
-#line 418 "src/parse/scanner_lex.cc"
+#line 422 "src/parse/scanner_lex.cc"
yy84:
yyaccept = 2;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych == '\n') goto yy87;
if (yych == '\r') goto yy86;
yy85:
-#line 160 "../src/parse/scanner_lex.re"
+#line 164 "../src/parse/scanner_lex.re"
{
if (ignore_eoc)
{
}
else if (!(DFlag || flag_skeleton))
{
- out.write((const char*)(tok), (const char*)(cur) - (const char*)(tok));
+ out.write(tok, cur - tok);
}
tok = pos = cur;
goto echo;
}
-#line 444 "src/parse/scanner_lex.cc"
+#line 448 "src/parse/scanner_lex.cc"
yy86:
yych = (YYCTYPE)*++YYCURSOR;
if (yych != '\n') goto yy12;
yy87:
++YYCURSOR;
-#line 142 "../src/parse/scanner_lex.re"
+#line 146 "../src/parse/scanner_lex.re"
{
cline++;
if (ignore_eoc)
}
else if (!(DFlag || flag_skeleton))
{
- out.write((const char*)(tok), (const char*)(cur) - (const char*)(tok));
+ out.write(tok, cur - tok);
}
tok = pos = cur;
goto echo;
}
-#line 469 "src/parse/scanner_lex.cc"
+#line 473 "src/parse/scanner_lex.cc"
yy89:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yy103:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 178 "../src/parse/scanner_lex.re"
+#line 182 "../src/parse/scanner_lex.re"
{
set_sourceline ();
goto echo;
}
-#line 549 "src/parse/scanner_lex.cc"
+#line 553 "src/parse/scanner_lex.cc"
yy105:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy103;
if (yych == '\r') goto yy105;
goto yy12;
}
-#line 209 "../src/parse/scanner_lex.re"
+#line 213 "../src/parse/scanner_lex.re"
}
start:
-#line 596 "src/parse/scanner_lex.cc"
+#line 600 "src/parse/scanner_lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
yy112:
++YYCURSOR;
yy113:
-#line 427 "../src/parse/scanner_lex.re"
+#line 431 "../src/parse/scanner_lex.re"
{
fatalf("unexpected character: '%c'", *tok);
goto scan;
}
-#line 716 "src/parse/scanner_lex.cc"
+#line 720 "src/parse/scanner_lex.cc"
yy114:
++YYCURSOR;
yych = (YYCTYPE)*YYCURSOR;
goto yy248;
yy115:
-#line 411 "../src/parse/scanner_lex.re"
+#line 415 "../src/parse/scanner_lex.re"
{
goto scan;
}
-#line 726 "src/parse/scanner_lex.cc"
+#line 730 "src/parse/scanner_lex.cc"
yy116:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych == '#') goto yy228;
}
yy117:
-#line 420 "../src/parse/scanner_lex.re"
+#line 424 "../src/parse/scanner_lex.re"
{
if (cur == eof) return 0;
pos = cur;
cline++;
goto scan;
}
-#line 744 "src/parse/scanner_lex.cc"
+#line 748 "src/parse/scanner_lex.cc"
yy118:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy225;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych != '\n') goto yy221;
yy120:
-#line 285 "../src/parse/scanner_lex.re"
+#line 289 "../src/parse/scanner_lex.re"
{
fatal("unterminated string constant (missing \")");
}
-#line 758 "src/parse/scanner_lex.cc"
+#line 762 "src/parse/scanner_lex.cc"
yy121:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '}') goto yy213;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych != '\n') goto yy216;
yy123:
-#line 288 "../src/parse/scanner_lex.re"
+#line 292 "../src/parse/scanner_lex.re"
{
fatal("unterminated string constant (missing ')");
}
-#line 772 "src/parse/scanner_lex.cc"
+#line 776 "src/parse/scanner_lex.cc"
yy124:
++YYCURSOR;
yy125:
-#line 314 "../src/parse/scanner_lex.re"
+#line 318 "../src/parse/scanner_lex.re"
{
return *tok;
}
-#line 780 "src/parse/scanner_lex.cc"
+#line 784 "src/parse/scanner_lex.cc"
yy126:
++YYCURSOR;
if ((yych = (YYCTYPE)*YYCURSOR) == '/') goto yy213;
-#line 318 "../src/parse/scanner_lex.re"
+#line 322 "../src/parse/scanner_lex.re"
{
yylval.op = *tok;
return STAR;
}
-#line 789 "src/parse/scanner_lex.cc"
+#line 793 "src/parse/scanner_lex.cc"
yy128:
++YYCURSOR;
-#line 322 "../src/parse/scanner_lex.re"
+#line 326 "../src/parse/scanner_lex.re"
{
yylval.op = *tok;
return CLOSE;
}
-#line 797 "src/parse/scanner_lex.cc"
+#line 801 "src/parse/scanner_lex.cc"
yy130:
++YYCURSOR;
-#line 406 "../src/parse/scanner_lex.re"
+#line 410 "../src/parse/scanner_lex.re"
{
yylval.regexp = mkDot();
return RANGE;
}
-#line 805 "src/parse/scanner_lex.cc"
+#line 809 "src/parse/scanner_lex.cc"
yy132:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '*') goto yy209;
if (yych == '^') goto yy188;
goto yy187;
yy137:
-#line 304 "../src/parse/scanner_lex.re"
+#line 308 "../src/parse/scanner_lex.re"
{
fatal("unterminated range (missing ])");
}
-#line 837 "src/parse/scanner_lex.cc"
+#line 841 "src/parse/scanner_lex.cc"
yy138:
YYCTXMARKER = YYCURSOR + 1;
yych = (YYCTYPE)*++YYCURSOR;
}
}
yy140:
-#line 230 "../src/parse/scanner_lex.re"
+#line 234 "../src/parse/scanner_lex.re"
{
depth = 1;
goto code;
}
-#line 868 "src/parse/scanner_lex.cc"
+#line 872 "src/parse/scanner_lex.cc"
yy141:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == ',') goto yy160;
yy147:
++YYCURSOR;
yy148:
-#line 350 "../src/parse/scanner_lex.re"
+#line 354 "../src/parse/scanner_lex.re"
{
fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers");
}
-#line 944 "src/parse/scanner_lex.cc"
+#line 948 "src/parse/scanner_lex.cc"
yy149:
++YYCURSOR;
-#line 354 "../src/parse/scanner_lex.re"
+#line 358 "../src/parse/scanner_lex.re"
{
if (!FFlag) {
fatal("curly braces for names only allowed with -F switch");
yylval.str = new std::string (tok + 1, cur - tok - 2);
return ID;
}
-#line 955 "src/parse/scanner_lex.cc"
+#line 959 "src/parse/scanner_lex.cc"
yy151:
++YYCURSOR;
-#line 332 "../src/parse/scanner_lex.re"
+#line 336 "../src/parse/scanner_lex.re"
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = atoi((char *)tok+1);
return CLOSESIZE;
}
-#line 964 "src/parse/scanner_lex.cc"
+#line 968 "src/parse/scanner_lex.cc"
yy153:
yyaccept = 6;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '9') goto yy156;
if (yych != '}') goto yy148;
++YYCURSOR;
-#line 344 "../src/parse/scanner_lex.re"
+#line 348 "../src/parse/scanner_lex.re"
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = -1;
return CLOSESIZE;
}
-#line 978 "src/parse/scanner_lex.cc"
+#line 982 "src/parse/scanner_lex.cc"
yy156:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
if (yych <= '9') goto yy156;
if (yych != '}') goto yy142;
++YYCURSOR;
-#line 338 "../src/parse/scanner_lex.re"
+#line 342 "../src/parse/scanner_lex.re"
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
return CLOSESIZE;
}
-#line 993 "src/parse/scanner_lex.cc"
+#line 997 "src/parse/scanner_lex.cc"
yy160:
yyaccept = 6;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= '9') goto yy156;
if (yych != '}') goto yy148;
++YYCURSOR;
-#line 327 "../src/parse/scanner_lex.re"
+#line 331 "../src/parse/scanner_lex.re"
{
yylval.op = '*';
return CLOSE;
}
-#line 1006 "src/parse/scanner_lex.cc"
+#line 1010 "src/parse/scanner_lex.cc"
yy163:
++YYCURSOR;
yy164:
YYCURSOR = YYCTXMARKER;
-#line 387 "../src/parse/scanner_lex.re"
+#line 391 "../src/parse/scanner_lex.re"
{
if (!FFlag) {
yylval.str = new std::string (tok, cur - tok);
return STRING;
}
}
-#line 1030 "src/parse/scanner_lex.cc"
+#line 1034 "src/parse/scanner_lex.cc"
yy165:
yych = (YYCTYPE)*++YYCURSOR;
goto yy184;
++YYCURSOR;
yy167:
YYCURSOR = YYCTXMARKER;
-#line 382 "../src/parse/scanner_lex.re"
+#line 386 "../src/parse/scanner_lex.re"
{
yylval.str = new std::string (tok, cur - tok);
return ID;
}
-#line 1043 "src/parse/scanner_lex.cc"
+#line 1047 "src/parse/scanner_lex.cc"
yy168:
YYCTXMARKER = YYCURSOR + 1;
++YYCURSOR;
}
}
yy176:
-#line 362 "../src/parse/scanner_lex.re"
+#line 366 "../src/parse/scanner_lex.re"
{
tok += 5; /* skip "re2c:" */
lexer_state = LEX_CONFIG;
yylval.str = new std::string (tok, cur - tok);
return CONFIG;
}
-#line 1129 "src/parse/scanner_lex.cc"
+#line 1133 "src/parse/scanner_lex.cc"
yy177:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= 'Z') {
yy181:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 369 "../src/parse/scanner_lex.re"
+#line 373 "../src/parse/scanner_lex.re"
{
yylval.str = new std::string (tok, cur - tok);
if (FFlag)
return ID;
}
}
-#line 1201 "src/parse/scanner_lex.cc"
+#line 1205 "src/parse/scanner_lex.cc"
yy183:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
goto yy186;
yy191:
++YYCURSOR;
-#line 298 "../src/parse/scanner_lex.re"
+#line 302 "../src/parse/scanner_lex.re"
{
SubStr s (tok, cur - tok);
yylval.regexp = ranToRE (s);
return RANGE;
}
-#line 1253 "src/parse/scanner_lex.cc"
+#line 1257 "src/parse/scanner_lex.cc"
yy193:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
goto yy188;
yy194:
++YYCURSOR;
-#line 292 "../src/parse/scanner_lex.re"
+#line 296 "../src/parse/scanner_lex.re"
{
SubStr s (tok, cur - tok);
yylval.regexp = invToRE (s);
return RANGE;
}
-#line 1268 "src/parse/scanner_lex.cc"
+#line 1272 "src/parse/scanner_lex.cc"
yy196:
++YYCURSOR;
-#line 311 "../src/parse/scanner_lex.re"
+#line 315 "../src/parse/scanner_lex.re"
{
return SETUP;
}
-#line 1275 "src/parse/scanner_lex.cc"
+#line 1279 "src/parse/scanner_lex.cc"
yy198:
YYCTXMARKER = YYCURSOR + 1;
yych = (YYCTYPE)*++YYCURSOR;
yy201:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 308 "../src/parse/scanner_lex.re"
+#line 312 "../src/parse/scanner_lex.re"
{
return NOCOND;
}
-#line 1309 "src/parse/scanner_lex.cc"
+#line 1313 "src/parse/scanner_lex.cc"
yy203:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '>') goto yy201;
yy205:
++YYCURSOR;
if ((yych = (YYCTYPE)*YYCURSOR) == '>') goto yy207;
-#line 239 "../src/parse/scanner_lex.re"
+#line 243 "../src/parse/scanner_lex.re"
{
tok += 2; /* skip ":=" */
depth = 0;
goto code;
}
-#line 1327 "src/parse/scanner_lex.cc"
+#line 1331 "src/parse/scanner_lex.cc"
yy207:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 235 "../src/parse/scanner_lex.re"
+#line 239 "../src/parse/scanner_lex.re"
{
return *tok;
}
-#line 1335 "src/parse/scanner_lex.cc"
+#line 1339 "src/parse/scanner_lex.cc"
yy209:
++YYCURSOR;
-#line 248 "../src/parse/scanner_lex.re"
+#line 252 "../src/parse/scanner_lex.re"
{
depth = 1;
goto comment;
}
-#line 1343 "src/parse/scanner_lex.cc"
+#line 1347 "src/parse/scanner_lex.cc"
yy211:
++YYCURSOR;
-#line 245 "../src/parse/scanner_lex.re"
+#line 249 "../src/parse/scanner_lex.re"
{
goto nextLine;
}
-#line 1350 "src/parse/scanner_lex.cc"
+#line 1354 "src/parse/scanner_lex.cc"
yy213:
++YYCURSOR;
-#line 254 "../src/parse/scanner_lex.re"
+#line 258 "../src/parse/scanner_lex.re"
{
tok = cur;
return 0;
}
-#line 1358 "src/parse/scanner_lex.cc"
+#line 1362 "src/parse/scanner_lex.cc"
yy215:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
goto yy215;
yy218:
++YYCURSOR;
-#line 272 "../src/parse/scanner_lex.re"
+#line 276 "../src/parse/scanner_lex.re"
{
SubStr s (tok + 1, cur - tok - 2);
if (bCaseInverted)
}
return STRING;
}
-#line 1389 "src/parse/scanner_lex.cc"
+#line 1393 "src/parse/scanner_lex.cc"
yy220:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
goto yy220;
yy223:
++YYCURSOR;
-#line 259 "../src/parse/scanner_lex.re"
+#line 263 "../src/parse/scanner_lex.re"
{
SubStr s (tok + 1, cur - tok - 2);
if (bCaseInsensitive || bCaseInverted)
}
return STRING;
}
-#line 1420 "src/parse/scanner_lex.cc"
+#line 1424 "src/parse/scanner_lex.cc"
yy225:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
yy240:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 415 "../src/parse/scanner_lex.re"
+#line 419 "../src/parse/scanner_lex.re"
{
set_sourceline ();
goto scan;
}
-#line 1518 "src/parse/scanner_lex.cc"
+#line 1522 "src/parse/scanner_lex.cc"
yy242:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy240;
if (yych == ' ') goto yy247;
goto yy115;
}
-#line 431 "../src/parse/scanner_lex.re"
+#line 435 "../src/parse/scanner_lex.re"
flex_name:
-#line 1558 "src/parse/scanner_lex.cc"
+#line 1562 "src/parse/scanner_lex.cc"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
if (yych == '\r') goto yy255;
++YYCURSOR;
yy252:
-#line 442 "../src/parse/scanner_lex.re"
+#line 446 "../src/parse/scanner_lex.re"
{
YYCURSOR = tok;
goto start;
}
-#line 1572 "src/parse/scanner_lex.cc"
+#line 1576 "src/parse/scanner_lex.cc"
yy253:
++YYCURSOR;
yy254:
-#line 436 "../src/parse/scanner_lex.re"
+#line 440 "../src/parse/scanner_lex.re"
{
YYCURSOR = tok;
lexer_state = LEX_NORMAL;
return FID_END;
}
-#line 1582 "src/parse/scanner_lex.cc"
+#line 1586 "src/parse/scanner_lex.cc"
yy255:
yych = (YYCTYPE)*++YYCURSOR;
if (yych != '\n') goto yy252;
yych = (YYCTYPE)*YYCURSOR;
goto yy254;
}
-#line 446 "../src/parse/scanner_lex.re"
+#line 450 "../src/parse/scanner_lex.re"
code:
-#line 1595 "src/parse/scanner_lex.cc"
+#line 1599 "src/parse/scanner_lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
}
yy259:
++YYCURSOR;
-#line 509 "../src/parse/scanner_lex.re"
+#line 513 "../src/parse/scanner_lex.re"
{
if (cur == eof)
{
}
goto code;
}
-#line 1668 "src/parse/scanner_lex.cc"
+#line 1672 "src/parse/scanner_lex.cc"
yy261:
++YYCURSOR;
yy262:
-#line 523 "../src/parse/scanner_lex.re"
+#line 527 "../src/parse/scanner_lex.re"
{
goto code;
}
-#line 1676 "src/parse/scanner_lex.cc"
+#line 1680 "src/parse/scanner_lex.cc"
yy263:
YYCTXMARKER = YYCURSOR + 1;
yyaccept = 0;
}
}
yy264:
-#line 490 "../src/parse/scanner_lex.re"
+#line 494 "../src/parse/scanner_lex.re"
{
if (depth == 0)
{
cline++;
goto code;
}
-#line 1716 "src/parse/scanner_lex.cc"
+#line 1720 "src/parse/scanner_lex.cc"
yy265:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
goto yy272;
yy267:
++YYCURSOR;
-#line 462 "../src/parse/scanner_lex.re"
+#line 466 "../src/parse/scanner_lex.re"
{
if (depth == 0)
{
}
goto code;
}
-#line 1741 "src/parse/scanner_lex.cc"
+#line 1745 "src/parse/scanner_lex.cc"
yy269:
++YYCURSOR;
-#line 450 "../src/parse/scanner_lex.re"
+#line 454 "../src/parse/scanner_lex.re"
{
if (depth == 0)
{
}
goto code;
}
-#line 1757 "src/parse/scanner_lex.cc"
+#line 1761 "src/parse/scanner_lex.cc"
yy271:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
goto yy271;
yy275:
++YYCURSOR;
-#line 520 "../src/parse/scanner_lex.re"
+#line 524 "../src/parse/scanner_lex.re"
{
goto code;
}
-#line 1792 "src/parse/scanner_lex.cc"
+#line 1796 "src/parse/scanner_lex.cc"
yy277:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
}
yy281:
YYCURSOR = YYCTXMARKER;
-#line 477 "../src/parse/scanner_lex.re"
+#line 481 "../src/parse/scanner_lex.re"
{
if (depth == 0)
{
cline++;
goto code;
}
-#line 1833 "src/parse/scanner_lex.cc"
+#line 1837 "src/parse/scanner_lex.cc"
yy282:
yych = (YYCTYPE)*++YYCURSOR;
goto yy281;
yy295:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 473 "../src/parse/scanner_lex.re"
+#line 477 "../src/parse/scanner_lex.re"
{
set_sourceline ();
goto code;
}
-#line 1905 "src/parse/scanner_lex.cc"
+#line 1909 "src/parse/scanner_lex.cc"
yy297:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy295;
goto yy273;
}
}
-#line 526 "../src/parse/scanner_lex.re"
+#line 530 "../src/parse/scanner_lex.re"
comment:
-#line 1949 "src/parse/scanner_lex.cc"
+#line 1953 "src/parse/scanner_lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
}
++YYCURSOR;
yy307:
-#line 558 "../src/parse/scanner_lex.re"
+#line 562 "../src/parse/scanner_lex.re"
{
if (cur == eof)
{
}
goto comment;
}
-#line 2004 "src/parse/scanner_lex.cc"
+#line 2008 "src/parse/scanner_lex.cc"
yy308:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 32) {
}
if (yych == '#') goto yy319;
yy309:
-#line 549 "../src/parse/scanner_lex.re"
+#line 553 "../src/parse/scanner_lex.re"
{
if (cur == eof)
{
cline++;
goto comment;
}
-#line 2022 "src/parse/scanner_lex.cc"
+#line 2026 "src/parse/scanner_lex.cc"
yy310:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '/') goto yy314;
yych = (YYCTYPE)*++YYCURSOR;
if (yych != '*') goto yy307;
++YYCURSOR;
-#line 540 "../src/parse/scanner_lex.re"
+#line 544 "../src/parse/scanner_lex.re"
{
++depth;
fatal("ambiguous /* found");
goto comment;
}
-#line 2037 "src/parse/scanner_lex.cc"
+#line 2041 "src/parse/scanner_lex.cc"
yy314:
++YYCURSOR;
-#line 530 "../src/parse/scanner_lex.re"
+#line 534 "../src/parse/scanner_lex.re"
{
if (--depth == 0)
{
goto comment;
}
}
-#line 2051 "src/parse/scanner_lex.cc"
+#line 2055 "src/parse/scanner_lex.cc"
yy316:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yy331:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
-#line 545 "../src/parse/scanner_lex.re"
+#line 549 "../src/parse/scanner_lex.re"
{
set_sourceline ();
goto comment;
}
-#line 2134 "src/parse/scanner_lex.cc"
+#line 2138 "src/parse/scanner_lex.cc"
yy333:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy331;
if (yych == '\r') goto yy333;
goto yy318;
}
-#line 565 "../src/parse/scanner_lex.re"
+#line 569 "../src/parse/scanner_lex.re"
nextLine:
-#line 2164 "src/parse/scanner_lex.cc"
+#line 2168 "src/parse/scanner_lex.cc"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych == '\n') goto yy342;
++YYCURSOR;
-#line 576 "../src/parse/scanner_lex.re"
+#line 580 "../src/parse/scanner_lex.re"
{ if(cur == eof) {
return 0;
}
goto nextLine;
}
-#line 2177 "src/parse/scanner_lex.cc"
+#line 2181 "src/parse/scanner_lex.cc"
yy342:
++YYCURSOR;
-#line 569 "../src/parse/scanner_lex.re"
+#line 573 "../src/parse/scanner_lex.re"
{ if(cur == eof) {
return 0;
}
cline++;
goto scan;
}
-#line 2188 "src/parse/scanner_lex.cc"
+#line 2192 "src/parse/scanner_lex.cc"
}
-#line 581 "../src/parse/scanner_lex.re"
+#line 585 "../src/parse/scanner_lex.re"
config:
-#line 2195 "src/parse/scanner_lex.cc"
+#line 2199 "src/parse/scanner_lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
if (yych == '=') goto yy350;
}
++YYCURSOR;
-#line 592 "../src/parse/scanner_lex.re"
+#line 596 "../src/parse/scanner_lex.re"
{
fatal("missing '='");
}
-#line 2245 "src/parse/scanner_lex.cc"
+#line 2249 "src/parse/scanner_lex.cc"
yy348:
++YYCURSOR;
yych = (YYCTYPE)*YYCURSOR;
goto yy355;
yy349:
-#line 585 "../src/parse/scanner_lex.re"
+#line 589 "../src/parse/scanner_lex.re"
{
goto config;
}
-#line 2255 "src/parse/scanner_lex.cc"
+#line 2259 "src/parse/scanner_lex.cc"
yy350:
++YYCURSOR;
yych = (YYCTYPE)*YYCURSOR;
goto yy353;
yy351:
-#line 588 "../src/parse/scanner_lex.re"
+#line 592 "../src/parse/scanner_lex.re"
{
lexer_state = LEX_CONFIG_VALUE;
return '=';
}
-#line 2266 "src/parse/scanner_lex.cc"
+#line 2270 "src/parse/scanner_lex.cc"
yy352:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
if (yych == ' ') goto yy354;
goto yy349;
}
-#line 595 "../src/parse/scanner_lex.re"
+#line 599 "../src/parse/scanner_lex.re"
value:
-#line 2290 "src/parse/scanner_lex.cc"
+#line 2294 "src/parse/scanner_lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
}
}
yy358:
-#line 604 "../src/parse/scanner_lex.re"
+#line 608 "../src/parse/scanner_lex.re"
{
yylval.str = new std::string (tok, cur - tok);
lexer_state = LEX_NORMAL;
return VALUE;
}
-#line 2363 "src/parse/scanner_lex.cc"
+#line 2367 "src/parse/scanner_lex.cc"
yy359:
++YYCURSOR;
if (yybm[0+(yych = (YYCTYPE)*YYCURSOR)] & 8) {
goto yy364;
}
yy360:
-#line 599 "../src/parse/scanner_lex.re"
+#line 603 "../src/parse/scanner_lex.re"
{
yylval.number = atoi(std::string (tok, cur - tok).c_str());
lexer_state = LEX_NORMAL;
return NUMBER;
}
-#line 2376 "src/parse/scanner_lex.cc"
+#line 2380 "src/parse/scanner_lex.cc"
yy361:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '0') goto yy365;
if (yych == '\n') goto yy372;
goto yy376;
}
-#line 609 "../src/parse/scanner_lex.re"
+#line 613 "../src/parse/scanner_lex.re"
}
sourceline:
tok = cur;
-#line 2542 "src/parse/scanner_lex.cc"
+#line 2546 "src/parse/scanner_lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
yy382:
++YYCURSOR;
yy383:
-#line 651 "../src/parse/scanner_lex.re"
+#line 655 "../src/parse/scanner_lex.re"
{
goto sourceline;
}
-#line 2595 "src/parse/scanner_lex.cc"
+#line 2599 "src/parse/scanner_lex.cc"
yy384:
++YYCURSOR;
-#line 639 "../src/parse/scanner_lex.re"
+#line 643 "../src/parse/scanner_lex.re"
{
if (cur == eof)
{
tok = cur;
return;
}
-#line 2611 "src/parse/scanner_lex.cc"
+#line 2615 "src/parse/scanner_lex.cc"
yy386:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych == '\n') goto yy383;
yych = (YYCTYPE)*YYCURSOR;
goto yy390;
yy388:
-#line 631 "../src/parse/scanner_lex.re"
+#line 635 "../src/parse/scanner_lex.re"
{
cline = atoi(std::string (tok, cur - tok).c_str());
goto sourceline;
}
-#line 2626 "src/parse/scanner_lex.cc"
+#line 2630 "src/parse/scanner_lex.cc"
yy389:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
goto yy391;
yy395:
++YYCURSOR;
-#line 635 "../src/parse/scanner_lex.re"
+#line 639 "../src/parse/scanner_lex.re"
{
escape (in.file_name, std::string (tok + 1, cur - tok - 2));
goto sourceline;
}
-#line 2663 "src/parse/scanner_lex.cc"
+#line 2667 "src/parse/scanner_lex.cc"
}
-#line 654 "../src/parse/scanner_lex.re"
+#line 658 "../src/parse/scanner_lex.re"
}