-/* Generated by re2c 1.0.1 on Fri Aug 11 22:29:44 2017 */
+/* Generated by re2c 1.0.1 on Sat Aug 26 10:29:18 2017 */
#line 1 "../src/ast/lex.re"
#include "src/util/c99_stdint.h"
#include <stddef.h>
if (yych <= '\\') {
if (yych <= '?') {
if (yych <= '/') goto yy202;
- if (yych <= '9') goto yy203;
- if (yych <= ':') goto yy205;
+ if (yych <= '9') goto yy183;
+ if (yych <= ':') goto yy203;
goto yy191;
} else {
if (yych <= '@') goto yy195;
- if (yych <= 'Z') goto yy203;
+ if (yych <= 'Z') goto yy204;
if (yych <= '[') goto yy206;
goto yy191;
}
} else {
if (yych <= 'q') {
- if (yych == '_') goto yy203;
- if (yych >= 'a') goto yy203;
+ if (yych == '_') goto yy204;
+ if (yych >= 'a') goto yy204;
} else {
if (yych <= 'z') {
if (yych <= 'r') goto yy208;
- goto yy203;
+ goto yy204;
} else {
if (yych <= '{') goto yy209;
if (yych <= '|') goto yy191;
#line 1105 "src/ast/lex.cc"
yy195:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 'Z') {
- if (yych <= '/') goto yy184;
- if (yych <= '9') goto yy216;
+ if (yych <= '^') {
if (yych <= '@') goto yy184;
- goto yy216;
+ if (yych <= 'Z') goto yy216;
+ goto yy184;
} else {
- if (yych <= '_') {
- if (yych <= '^') goto yy184;
- goto yy216;
- } else {
- if (yych <= '`') goto yy184;
- if (yych <= 'z') goto yy216;
- goto yy184;
- }
+ if (yych == '`') goto yy184;
+ if (yych <= 'z') goto yy216;
+ goto yy184;
}
yy196:
yych = (YYCTYPE)*++YYCURSOR;
++YYCURSOR;
#line 232 "../src/ast/lex.re"
{ yylval.regexp = lex_str('\''); return TOKEN_REGEXP; }
-#line 1131 "src/ast/lex.cc"
+#line 1125 "src/ast/lex.cc"
yy199:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '/') goto yy219;
yylval.regexp = ast_dot(cline, get_column());
return TOKEN_REGEXP;
}
-#line 1143 "src/ast/lex.cc"
+#line 1137 "src/ast/lex.cc"
yy202:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '*') goto yy221;
if (yych == '/') goto yy223;
goto yy192;
yy203:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '=') goto yy225;
+ goto yy184;
+yy204:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
-yy204:
+yy205:
if (yybm[0+yych] & 32) {
- goto yy203;
+ goto yy204;
}
if (yych <= ' ') {
if (yych == '\t') {
YYCTXMARKER = YYCURSOR;
- goto yy227;
+ goto yy229;
}
- if (yych <= 0x1F) goto yy225;
+ if (yych <= 0x1F) goto yy227;
YYCTXMARKER = YYCURSOR;
- goto yy227;
+ goto yy229;
} else {
if (yych <= ',') {
- if (yych <= '+') goto yy225;
+ if (yych <= '+') goto yy227;
YYCTXMARKER = YYCURSOR;
- goto yy229;
+ goto yy231;
} else {
- if (yych <= '<') goto yy225;
+ if (yych <= '<') goto yy227;
if (yych <= '>') {
YYCTXMARKER = YYCURSOR;
- goto yy229;
+ goto yy231;
}
- goto yy225;
+ goto yy227;
}
}
-yy205:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '=') goto yy231;
- goto yy184;
yy206:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '^') goto yy233;
#line 234 "../src/ast/lex.re"
{ yylval.regexp = lex_cls(false); return TOKEN_REGEXP; }
-#line 1188 "src/ast/lex.cc"
+#line 1182 "src/ast/lex.cc"
yy208:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'e') goto yy235;
- goto yy204;
+ goto yy205;
yy209:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
code_line = cline;
goto code;
}
-#line 1217 "src/ast/lex.cc"
+#line 1211 "src/ast/lex.cc"
yy211:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yylval.regexp = ast_tag(cline, get_column(), name, tok[0] == '#');
return TOKEN_REGEXP;
}
-#line 1274 "src/ast/lex.cc"
+#line 1268 "src/ast/lex.cc"
yy219:
++YYCURSOR;
#line 227 "../src/ast/lex.re"
tok = cur;
return 0;
}
-#line 1282 "src/ast/lex.cc"
+#line 1276 "src/ast/lex.cc"
yy221:
++YYCURSOR;
#line 221 "../src/ast/lex.re"
depth = 1;
goto comment;
}
-#line 1290 "src/ast/lex.cc"
+#line 1284 "src/ast/lex.cc"
yy223:
++YYCURSOR;
#line 218 "../src/ast/lex.re"
{
goto nextLine;
}
-#line 1297 "src/ast/lex.cc"
+#line 1291 "src/ast/lex.cc"
yy225:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '>') goto yy243;
+#line 211 "../src/ast/lex.re"
+ {
+ tok += 2; /* skip ":=" */
+ depth = 0;
+ code_line = cline;
+ goto code;
+ }
+#line 1302 "src/ast/lex.cc"
+yy227:
++YYCURSOR;
YYCURSOR -= 1;
#line 308 "../src/ast/lex.re"
return TOKEN_REGEXP;
}
}
-#line 1318 "src/ast/lex.cc"
-yy227:
+#line 1323 "src/ast/lex.cc"
+yy229:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = (YYCTYPE)*YYCURSOR;
if (yych <= ' ') {
- if (yych == '\t') goto yy227;
- if (yych <= 0x1F) goto yy243;
- goto yy227;
+ if (yych == '\t') goto yy229;
+ if (yych <= 0x1F) goto yy245;
+ goto yy229;
} else {
if (yych <= ',') {
- if (yych <= '+') goto yy243;
+ if (yych <= '+') goto yy245;
} else {
- if (yych <= '<') goto yy243;
- if (yych >= '?') goto yy243;
+ if (yych <= '<') goto yy245;
+ if (yych >= '?') goto yy245;
}
}
-yy229:
+yy231:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
#line 303 "../src/ast/lex.re"
yylval.str = new std::string (tok, tok_len ());
return TOKEN_ID;
}
-#line 1343 "src/ast/lex.cc"
-yy231:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '>') goto yy245;
-#line 211 "../src/ast/lex.re"
- {
- tok += 2; /* skip ":=" */
- depth = 0;
- code_line = cline;
- goto code;
- }
-#line 1354 "src/ast/lex.cc"
+#line 1348 "src/ast/lex.cc"
yy233:
++YYCURSOR;
#line 235 "../src/ast/lex.re"
{ yylval.regexp = lex_cls(true); return TOKEN_REGEXP; }
-#line 1359 "src/ast/lex.cc"
+#line 1353 "src/ast/lex.cc"
yy235:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '2') goto yy247;
- goto yy204;
+ goto yy205;
yy236:
++YYCURSOR;
yy237:
{
fatal_lc(get_cline(), get_column(), "illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers");
}
-#line 1371 "src/ast/lex.cc"
+#line 1365 "src/ast/lex.cc"
yy238:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
if (yybm[0+yych] & 64) {
goto yy238;
}
- if (yych <= '^') {
- if (yych <= ',') {
- if (yych <= '+') goto yy213;
- goto yy248;
- } else {
- if (yych <= '@') goto yy213;
- if (yych >= '[') goto yy213;
- }
- } else {
- if (yych <= 'z') {
- if (yych == '`') goto yy213;
- } else {
- if (yych == '}') goto yy249;
- goto yy213;
- }
- }
+ if (yych == ',') goto yy248;
+ if (yych == '}') goto yy249;
+ goto yy213;
yy240:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
if (yych == 'i') goto yy253;
goto yy213;
yy243:
+ ++YYCURSOR;
+ YYCURSOR -= 2;
+#line 207 "../src/ast/lex.re"
+ {
+ return *tok;
+ }
+#line 1409 "src/ast/lex.cc"
+yy245:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
#line 290 "../src/ast/lex.re"
return TOKEN_ID;
}
}
-#line 1437 "src/ast/lex.cc"
-yy245:
- ++YYCURSOR;
- YYCURSOR -= 2;
-#line 207 "../src/ast/lex.re"
- {
- return *tok;
- }
-#line 1445 "src/ast/lex.cc"
+#line 1426 "src/ast/lex.cc"
yy247:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'c') goto yy254;
- goto yy204;
+ goto yy205;
yy248:
yyaccept = 2;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
yylval.bounds.max = yylval.bounds.min;
return TOKEN_CLOSESIZE;
}
-#line 1468 "src/ast/lex.cc"
+#line 1449 "src/ast/lex.cc"
yy251:
++YYCURSOR;
#line 280 "../src/ast/lex.re"
yylval.str = new std::string (tok + 1, tok_len () - 2); // -2 to omit braces
return TOKEN_ID;
}
-#line 1479 "src/ast/lex.cc"
+#line 1460 "src/ast/lex.cc"
yy253:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'n') goto yy259;
yy254:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == ':') goto yy260;
- goto yy204;
+ goto yy205;
yy255:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yylval.bounds.max = std::numeric_limits<uint32_t>::max();
return TOKEN_CLOSESIZE;
}
-#line 1507 "src/ast/lex.cc"
+#line 1488 "src/ast/lex.cc"
yy259:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'e') goto yy264;
++YYCURSOR;
#line 288 "../src/ast/lex.re"
{ return TOKEN_CONF; }
-#line 1516 "src/ast/lex.cc"
+#line 1497 "src/ast/lex.cc"
yy262:
++YYCURSOR;
#line 254 "../src/ast/lex.re"
}
return TOKEN_CLOSESIZE;
}
-#line 1532 "src/ast/lex.cc"
+#line 1513 "src/ast/lex.cc"
yy264:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '0') goto yy266;
set_sourceline ();
return TOKEN_LINE_INFO;
}
-#line 1593 "src/ast/lex.cc"
+#line 1574 "src/ast/lex.cc"
yy273:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy271;
code:
-#line 1623 "src/ast/lex.cc"
+#line 1604 "src/ast/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
}
goto code;
}
-#line 1696 "src/ast/lex.cc"
+#line 1677 "src/ast/lex.cc"
yy282:
++YYCURSOR;
yy283:
{
goto code;
}
-#line 1704 "src/ast/lex.cc"
+#line 1685 "src/ast/lex.cc"
yy284:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
cline++;
goto code;
}
-#line 1743 "src/ast/lex.cc"
+#line 1724 "src/ast/lex.cc"
yy286:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
}
goto code;
}
-#line 1768 "src/ast/lex.cc"
+#line 1749 "src/ast/lex.cc"
yy290:
++YYCURSOR;
#line 359 "../src/ast/lex.re"
}
goto code;
}
-#line 1784 "src/ast/lex.cc"
+#line 1765 "src/ast/lex.cc"
yy292:
yyaccept = 2;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
cline++;
goto code;
}
-#line 1810 "src/ast/lex.cc"
+#line 1791 "src/ast/lex.cc"
yy294:
++YYCURSOR;
goto yy293;
{
goto code;
}
-#line 1849 "src/ast/lex.cc"
+#line 1830 "src/ast/lex.cc"
yy302:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
set_sourceline ();
goto code;
}
-#line 1944 "src/ast/lex.cc"
+#line 1925 "src/ast/lex.cc"
yy320:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy318;
comment:
-#line 1978 "src/ast/lex.cc"
+#line 1959 "src/ast/lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
}
goto comment;
}
-#line 2033 "src/ast/lex.cc"
+#line 2014 "src/ast/lex.cc"
yy329:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 32) {
cline++;
goto comment;
}
-#line 2051 "src/ast/lex.cc"
+#line 2032 "src/ast/lex.cc"
yy331:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '/') goto yy338;
goto comment;
}
}
-#line 2096 "src/ast/lex.cc"
+#line 2077 "src/ast/lex.cc"
yy340:
++YYCURSOR;
#line 449 "../src/ast/lex.re"
fatal_lc(get_cline(), get_column(), "ambiguous /* found");
goto comment;
}
-#line 2105 "src/ast/lex.cc"
+#line 2086 "src/ast/lex.cc"
yy342:
yych = (YYCTYPE)*++YYCURSOR;
if (yych != 'i') goto yy335;
set_sourceline ();
goto comment;
}
-#line 2167 "src/ast/lex.cc"
+#line 2148 "src/ast/lex.cc"
yy354:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy352;
nextLine:
-#line 2197 "src/ast/lex.cc"
+#line 2178 "src/ast/lex.cc"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
}
goto nextLine;
}
-#line 2210 "src/ast/lex.cc"
+#line 2191 "src/ast/lex.cc"
yy363:
++YYCURSOR;
#line 478 "../src/ast/lex.re"
cline++;
goto scan;
}
-#line 2221 "src/ast/lex.cc"
+#line 2202 "src/ast/lex.cc"
}
#line 490 "../src/ast/lex.re"
tok = cur;
c = get_column();
-#line 2249 "src/ast/lex.cc"
+#line 2230 "src/ast/lex.cc"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
if (yych == ']') goto yy368;
#line 516 "../src/ast/lex.re"
{ l = lex_cls_chr(); goto snd; }
-#line 2257 "src/ast/lex.cc"
+#line 2238 "src/ast/lex.cc"
yy368:
++YYCURSOR;
#line 515 "../src/ast/lex.re"
{ return ast_cls(cline, c0, cls, neg); }
-#line 2262 "src/ast/lex.cc"
+#line 2243 "src/ast/lex.cc"
}
#line 517 "../src/ast/lex.re"
snd:
-#line 2268 "src/ast/lex.cc"
+#line 2249 "src/ast/lex.cc"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yy372:
#line 520 "../src/ast/lex.re"
{ u = l; goto add; }
-#line 2277 "src/ast/lex.cc"
+#line 2258 "src/ast/lex.cc"
yy373:
yych = (YYCTYPE)*++YYCURSOR;
if (yych != ']') goto yy375;
}
goto add;
}
-#line 2295 "src/ast/lex.cc"
+#line 2276 "src/ast/lex.cc"
}
#line 529 "../src/ast/lex.re"
tok = cur;
const uint32_t l = get_cline(), c = get_column();
-#line 2309 "src/ast/lex.cc"
+#line 2290 "src/ast/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
yy380:
#line 546 "../src/ast/lex.re"
{ return static_cast<uint8_t>(tok[0]); }
-#line 2325 "src/ast/lex.cc"
+#line 2306 "src/ast/lex.cc"
yy381:
++YYCURSOR;
#line 541 "../src/ast/lex.re"
{ fatal_lc(l, c, "newline in character class"); }
-#line 2330 "src/ast/lex.cc"
+#line 2311 "src/ast/lex.cc"
yy383:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy381;
warn.useless_escape(cline, get_column(), tok[1]);
return static_cast<uint8_t>(tok[1]);
}
-#line 2387 "src/ast/lex.cc"
+#line 2368 "src/ast/lex.cc"
yy387:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy381;
++YYCURSOR;
#line 557 "../src/ast/lex.re"
{ return static_cast<uint8_t>('-'); }
-#line 2396 "src/ast/lex.cc"
+#line 2377 "src/ast/lex.cc"
yy390:
yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
yy391:
#line 543 "../src/ast/lex.re"
{ fatal_lc(l, c, "syntax error in octal escape sequence"); }
-#line 2405 "src/ast/lex.cc"
+#line 2386 "src/ast/lex.cc"
yy392:
++YYCURSOR;
goto yy391;
yy394:
#line 542 "../src/ast/lex.re"
{ fatal_lc(l, c, "syntax error in hexadecimal escape sequence"); }
-#line 2423 "src/ast/lex.cc"
+#line 2404 "src/ast/lex.cc"
yy395:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
++YYCURSOR;
#line 556 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\\'); }
-#line 2441 "src/ast/lex.cc"
+#line 2422 "src/ast/lex.cc"
yy398:
++YYCURSOR;
#line 558 "../src/ast/lex.re"
{ return static_cast<uint8_t>(']'); }
-#line 2446 "src/ast/lex.cc"
+#line 2427 "src/ast/lex.cc"
yy400:
++YYCURSOR;
#line 549 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\a'); }
-#line 2451 "src/ast/lex.cc"
+#line 2432 "src/ast/lex.cc"
yy402:
++YYCURSOR;
#line 550 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\b'); }
-#line 2456 "src/ast/lex.cc"
+#line 2437 "src/ast/lex.cc"
yy404:
++YYCURSOR;
#line 551 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\f'); }
-#line 2461 "src/ast/lex.cc"
+#line 2442 "src/ast/lex.cc"
yy406:
++YYCURSOR;
#line 552 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\n'); }
-#line 2466 "src/ast/lex.cc"
+#line 2447 "src/ast/lex.cc"
yy408:
++YYCURSOR;
#line 553 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\r'); }
-#line 2471 "src/ast/lex.cc"
+#line 2452 "src/ast/lex.cc"
yy410:
++YYCURSOR;
#line 554 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\t'); }
-#line 2476 "src/ast/lex.cc"
+#line 2457 "src/ast/lex.cc"
yy412:
++YYCURSOR;
#line 555 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\v'); }
-#line 2481 "src/ast/lex.cc"
+#line 2462 "src/ast/lex.cc"
yy414:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
++YYCURSOR;
#line 548 "../src/ast/lex.re"
{ return unesc_oct(tok, cur); }
-#line 2546 "src/ast/lex.cc"
+#line 2527 "src/ast/lex.cc"
yy422:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
++YYCURSOR;
#line 547 "../src/ast/lex.re"
{ return unesc_hex(tok, cur); }
-#line 2575 "src/ast/lex.cc"
+#line 2556 "src/ast/lex.cc"
yy426:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
tok = cur;
const uint32_t l = get_cline(), c = get_column();
-#line 2609 "src/ast/lex.cc"
+#line 2590 "src/ast/lex.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
end = tok[0] == quote;
return static_cast<uint8_t>(tok[0]);
}
-#line 2628 "src/ast/lex.cc"
+#line 2609 "src/ast/lex.cc"
yy432:
++YYCURSOR;
#line 573 "../src/ast/lex.re"
{ fatal_lc(l, c, "newline in character string"); }
-#line 2633 "src/ast/lex.cc"
+#line 2614 "src/ast/lex.cc"
yy434:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy432;
}
return static_cast<uint8_t>(tok[1]);
}
-#line 2689 "src/ast/lex.cc"
+#line 2670 "src/ast/lex.cc"
yy438:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == '\n') goto yy432;
yy440:
#line 575 "../src/ast/lex.re"
{ fatal_lc(l, c, "syntax error in octal escape sequence"); }
-#line 2702 "src/ast/lex.cc"
+#line 2683 "src/ast/lex.cc"
yy441:
++YYCURSOR;
goto yy440;
yy443:
#line 574 "../src/ast/lex.re"
{ fatal_lc(l, c, "syntax error in hexadecimal escape sequence"); }
-#line 2720 "src/ast/lex.cc"
+#line 2701 "src/ast/lex.cc"
yy444:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
++YYCURSOR;
#line 591 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\\'); }
-#line 2738 "src/ast/lex.cc"
+#line 2719 "src/ast/lex.cc"
yy447:
++YYCURSOR;
#line 584 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\a'); }
-#line 2743 "src/ast/lex.cc"
+#line 2724 "src/ast/lex.cc"
yy449:
++YYCURSOR;
#line 585 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\b'); }
-#line 2748 "src/ast/lex.cc"
+#line 2729 "src/ast/lex.cc"
yy451:
++YYCURSOR;
#line 586 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\f'); }
-#line 2753 "src/ast/lex.cc"
+#line 2734 "src/ast/lex.cc"
yy453:
++YYCURSOR;
#line 587 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\n'); }
-#line 2758 "src/ast/lex.cc"
+#line 2739 "src/ast/lex.cc"
yy455:
++YYCURSOR;
#line 588 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\r'); }
-#line 2763 "src/ast/lex.cc"
+#line 2744 "src/ast/lex.cc"
yy457:
++YYCURSOR;
#line 589 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\t'); }
-#line 2768 "src/ast/lex.cc"
+#line 2749 "src/ast/lex.cc"
yy459:
++YYCURSOR;
#line 590 "../src/ast/lex.re"
{ return static_cast<uint8_t>('\v'); }
-#line 2773 "src/ast/lex.cc"
+#line 2754 "src/ast/lex.cc"
yy461:
yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
++YYCURSOR;
#line 583 "../src/ast/lex.re"
{ return unesc_oct(tok, cur); }
-#line 2838 "src/ast/lex.cc"
+#line 2819 "src/ast/lex.cc"
yy469:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
++YYCURSOR;
#line 582 "../src/ast/lex.re"
{ return unesc_hex(tok, cur); }
-#line 2867 "src/ast/lex.cc"
+#line 2848 "src/ast/lex.cc"
yy473:
yych = (YYCTYPE)*++YYCURSOR;
if (yych <= '@') {
sourceline:
tok = cur;
-#line 2911 "src/ast/lex.cc"
+#line 2892 "src/ast/lex.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
{
goto sourceline;
}
-#line 2964 "src/ast/lex.cc"
+#line 2945 "src/ast/lex.cc"
yy479:
++YYCURSOR;
#line 628 "../src/ast/lex.re"
tok = cur;
return;
}
-#line 2980 "src/ast/lex.cc"
+#line 2961 "src/ast/lex.cc"
yy481:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych == '\n') goto yy478;
}
goto sourceline;
}
-#line 3000 "src/ast/lex.cc"
+#line 2981 "src/ast/lex.cc"
yy485:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
escape (in.file_name, std::string (tok + 1, tok_len () - 2)); // -2 to omit quotes
goto sourceline;
}
-#line 3022 "src/ast/lex.cc"
+#line 3003 "src/ast/lex.cc"
yy490:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);