From f979535960fe4162e7e32c67773d9a9d6b4d5262 Mon Sep 17 00:00:00 2001 From: Ulya Trofimovich Date: Sat, 13 Jul 2019 10:49:09 +0100 Subject: [PATCH] Fixed Clang warnings -Wextra-semi and -Wextra-semi-stmt. --- bootstrap/src/parse/lex.cc | 827 ++++++++++++++++---------------- bootstrap/src/parse/lex.h | 8 +- bootstrap/src/parse/lex_conf.cc | 459 +++++++++--------- lib/test.cc | 24 +- src/codegen/emit_action.cc | 2 +- src/codegen/go_emit.cc | 2 +- src/debug/debug.h | 4 +- src/parse/lex.re | 7 +- src/parse/lex_conf.re | 2 +- src/util/smart_ptr.h | 2 +- src/util/static_assert.h | 2 +- 11 files changed, 680 insertions(+), 659 deletions(-) diff --git a/bootstrap/src/parse/lex.cc b/bootstrap/src/parse/lex.cc index f36829dc..f65433a3 100644 --- a/bootstrap/src/parse/lex.cc +++ b/bootstrap/src/parse/lex.cc @@ -1,24 +1,31 @@ -/* Generated by re2c 1.1.1 on Fri May 24 12:40:10 2019 */ +/* Generated by re2c 1.1.1 on Sat Jul 13 10:46:39 2019 */ #line 1 "../src/parse/lex.re" +#include #include "src/util/c99_stdint.h" -#include -#include #include #include #include +#include +#include #include "src/codegen/output.h" #include "src/encoding/enc.h" -#include "src/parse/input.h" +#include "src/msg/location.h" +#include "src/msg/msg.h" +#include "src/msg/warn.h" +#include "src/options/opt.h" #include "src/parse/ast.h" +#include "src/parse/input.h" +#include "src/parse/lex.h" #include "src/parse/scanner.h" #include "src/parse/parse.h" // needed by "parser.h" #include "src/parse/unescape.h" -#include "src/util/range.h" +#include "src/regexp/rule.h" #include "src/util/s_to_n32_unsafe.h" #include "src/util/string_utils.h" #include "parser.h" + extern YYSTYPE yylval; namespace re2c { @@ -27,12 +34,12 @@ namespace re2c { #define YYCURSOR cur #define YYLIMIT lim #define YYMARKER mar -#define YYFILL(n) { if (!fill (n)) fatal("unexpected end of input"); } +#define YYFILL(n) do { if (!fill(n)) fatal("unexpected end of input"); } while(0) -#line 54 "../src/parse/lex.re" +#line 61 "../src/parse/lex.re" -#line 107 "../src/parse/lex.re" +#line 120 "../src/parse/lex.re" Scanner::ParseMode Scanner::echo(Output &out) @@ -46,7 +53,7 @@ loop: loc = cur_loc(); ptr = cur; -#line 50 "src/parse/lex.cc" +#line 57 "src/parse/lex.cc" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -104,7 +111,7 @@ loop: } } ++YYCURSOR; -#line 205 "../src/parse/lex.re" +#line 218 "../src/parse/lex.re" { if (is_eof()) { out.wraw(tok, ptr); @@ -112,13 +119,13 @@ loop: } goto loop; } -#line 116 "src/parse/lex.cc" +#line 123 "src/parse/lex.cc" yy4: ++YYCURSOR; yy5: -#line 224 "../src/parse/lex.re" +#line 237 "../src/parse/lex.re" { goto loop; } -#line 122 "src/parse/lex.cc" +#line 129 "src/parse/lex.cc" yy6: yyaccept = 0; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); @@ -127,12 +134,12 @@ yy6: } if (yych == '#') goto yy14; yy7: -#line 219 "../src/parse/lex.re" +#line 232 "../src/parse/lex.re" { next_line(); goto loop; } -#line 136 "src/parse/lex.cc" +#line 143 "src/parse/lex.cc" yy8: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy6; @@ -175,12 +182,12 @@ yy14: } yy16: ++YYCURSOR; -#line 120 "../src/parse/lex.re" +#line 133 "../src/parse/lex.re" { out.wraw(tok, ptr); return Parse; } -#line 184 "src/parse/lex.cc" +#line 191 "src/parse/lex.cc" yy18: yych = (YYCTYPE)*++YYCURSOR; if (yych == '!') goto yy20; @@ -476,13 +483,13 @@ yy80: yy82: ++YYCURSOR; YYCURSOR = yyt1; -#line 213 "../src/parse/lex.re" +#line 226 "../src/parse/lex.re" { out.wraw(tok, ptr).ws("\n"); set_sourceline(); goto next; } -#line 486 "src/parse/lex.cc" +#line 493 "src/parse/lex.cc" yy84: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy82; @@ -615,14 +622,14 @@ yy114: goto yy13; yy115: ++YYCURSOR; -#line 141 "../src/parse/lex.re" +#line 154 "../src/parse/lex.re" { out.wraw(tok, ptr); out.wdelay_yymaxfill(); lex_end_of_comment(out); goto next; } -#line 626 "src/parse/lex.cc" +#line 633 "src/parse/lex.cc" yy117: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'h') goto yy128; @@ -645,12 +652,12 @@ yy121: goto yy13; yy122: ++YYCURSOR; -#line 130 "../src/parse/lex.re" +#line 143 "../src/parse/lex.re" { out.wraw(tok, ptr); return Reuse; } -#line 654 "src/parse/lex.cc" +#line 661 "src/parse/lex.cc" yy124: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy133; @@ -709,33 +716,33 @@ yy137: goto yy13; yy138: ++YYCURSOR; -#line 177 "../src/parse/lex.re" +#line 190 "../src/parse/lex.re" { out.wraw(tok, ptr); lex_tags(out, true); goto next; } -#line 719 "src/parse/lex.cc" +#line 726 "src/parse/lex.cc" yy140: ++YYCURSOR; -#line 125 "../src/parse/lex.re" +#line 138 "../src/parse/lex.re" { out.wraw(tok, ptr); return Rules; } -#line 727 "src/parse/lex.cc" +#line 734 "src/parse/lex.cc" yy142: ++YYCURSOR; -#line 171 "../src/parse/lex.re" +#line 184 "../src/parse/lex.re" { out.wraw(tok, ptr); lex_tags(out, false); goto next; } -#line 736 "src/parse/lex.cc" +#line 743 "src/parse/lex.cc" yy144: ++YYCURSOR; -#line 162 "../src/parse/lex.re" +#line 175 "../src/parse/lex.re" { out.wraw(tok, ptr); out.wdelay_line_info_output(); @@ -744,7 +751,7 @@ yy144: lex_end_of_comment(out); goto next; } -#line 748 "src/parse/lex.cc" +#line 755 "src/parse/lex.cc" yy146: yych = (YYCTYPE)*++YYCURSOR; if (yych == '2') goto yy152; @@ -755,13 +762,13 @@ yy147: goto yy13; yy148: ++YYCURSOR; -#line 135 "../src/parse/lex.re" +#line 148 "../src/parse/lex.re" { out.wraw(tok, ptr); lex_end_of_comment(out); goto next; } -#line 765 "src/parse/lex.cc" +#line 772 "src/parse/lex.cc" yy150: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy154; @@ -788,14 +795,14 @@ yy155: goto yy13; yy156: ++YYCURSOR; -#line 155 "../src/parse/lex.re" +#line 168 "../src/parse/lex.re" { out.wraw(tok, ptr); out.wdelay_state_goto(0); lex_end_of_comment(out); goto next; } -#line 799 "src/parse/lex.cc" +#line 806 "src/parse/lex.cc" yy158: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'f') goto yy162; @@ -827,7 +834,7 @@ yy162: goto yy13; yy163: ++YYCURSOR; -#line 183 "../src/parse/lex.re" +#line 196 "../src/parse/lex.re" { out.wraw(tok, ptr); out.header_mode(true); @@ -835,7 +842,7 @@ yy163: lex_end_of_comment(out); goto next; } -#line 839 "src/parse/lex.cc" +#line 846 "src/parse/lex.cc" yy165: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); @@ -851,17 +858,17 @@ yy165: } yy167: ++YYCURSOR; -#line 148 "../src/parse/lex.re" +#line 161 "../src/parse/lex.re" { out.wraw(tok, ptr); out.wdelay_yymaxnmatch(); lex_end_of_comment(out); goto next; } -#line 862 "src/parse/lex.cc" +#line 869 "src/parse/lex.cc" yy169: ++YYCURSOR; -#line 191 "../src/parse/lex.re" +#line 204 "../src/parse/lex.re" { out.wraw(tok, ptr); out.header_mode(false); @@ -869,7 +876,7 @@ yy169: lex_end_of_comment(out); goto next; } -#line 873 "src/parse/lex.cc" +#line 880 "src/parse/lex.cc" yy171: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x1F) { @@ -913,15 +920,15 @@ yy175: ++YYCURSOR; x = yyt1; y = yyt2; -#line 199 "../src/parse/lex.re" +#line 212 "../src/parse/lex.re" { out.wraw(tok, ptr); include(getstr(x + 1, y - 1)); goto next; } -#line 923 "src/parse/lex.cc" +#line 930 "src/parse/lex.cc" } -#line 225 "../src/parse/lex.re" +#line 238 "../src/parse/lex.re" } @@ -930,7 +937,7 @@ void Scanner::lex_end_of_comment(Output &out) bool multiline = false; loop: -#line 934 "src/parse/lex.cc" +#line 941 "src/parse/lex.cc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); @@ -946,26 +953,26 @@ loop: } yy180: ++YYCURSOR; -#line 234 "../src/parse/lex.re" +#line 247 "../src/parse/lex.re" { msg.fatal(cur_loc(), "expected end of block"); } -#line 954 "src/parse/lex.cc" +#line 961 "src/parse/lex.cc" yy182: ++YYCURSOR; yy183: -#line 233 "../src/parse/lex.re" +#line 246 "../src/parse/lex.re" { goto loop; } -#line 960 "src/parse/lex.cc" +#line 967 "src/parse/lex.cc" yy184: ++YYCURSOR; -#line 237 "../src/parse/lex.re" +#line 250 "../src/parse/lex.re" { next_line(); multiline = true; goto loop; } -#line 969 "src/parse/lex.cc" +#line 976 "src/parse/lex.cc" yy186: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy184; @@ -974,16 +981,16 @@ yy187: yych = (YYCTYPE)*++YYCURSOR; if (yych != '/') goto yy183; ++YYCURSOR; -#line 242 "../src/parse/lex.re" +#line 255 "../src/parse/lex.re" { if (multiline) { out.wdelay_line_info_input(cur_loc()); } return; } -#line 985 "src/parse/lex.cc" +#line 992 "src/parse/lex.cc" } -#line 248 "../src/parse/lex.re" +#line 261 "../src/parse/lex.re" } @@ -992,7 +999,7 @@ void Scanner::lex_tags(Output &out, bool mtags) std::string fmt, sep; loop: -#line 996 "src/parse/lex.cc" +#line 1003 "src/parse/lex.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -1050,11 +1057,11 @@ loop: } ++YYCURSOR; yy193: -#line 256 "../src/parse/lex.re" +#line 269 "../src/parse/lex.re" { msg.fatal(cur_loc(), "unrecognized configuration"); } -#line 1058 "src/parse/lex.cc" +#line 1065 "src/parse/lex.cc" yy194: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -1062,19 +1069,19 @@ yy194: if (yybm[0+yych] & 128) { goto yy194; } -#line 267 "../src/parse/lex.re" +#line 280 "../src/parse/lex.re" { goto loop; } -#line 1070 "src/parse/lex.cc" +#line 1077 "src/parse/lex.cc" yy197: ++YYCURSOR; -#line 270 "../src/parse/lex.re" +#line 283 "../src/parse/lex.re" { next_line(); goto loop; } -#line 1078 "src/parse/lex.cc" +#line 1085 "src/parse/lex.cc" yy199: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy197; @@ -1093,12 +1100,12 @@ yy202: goto yy193; yy203: ++YYCURSOR; -#line 274 "../src/parse/lex.re" +#line 287 "../src/parse/lex.re" { out.wdelay_tags(new ConfTags(fmt, sep), mtags); return; } -#line 1102 "src/parse/lex.cc" +#line 1109 "src/parse/lex.cc" yy205: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy208; @@ -1135,12 +1142,12 @@ yy213: goto yy206; yy214: ++YYCURSOR; -#line 259 "../src/parse/lex.re" +#line 272 "../src/parse/lex.re" { fmt = lex_conf_string(); goto loop; } -#line 1144 "src/parse/lex.cc" +#line 1151 "src/parse/lex.cc" yy216: yych = (YYCTYPE)*++YYCURSOR; if (yych != 't') goto yy206; @@ -1149,14 +1156,14 @@ yy216: yych = (YYCTYPE)*++YYCURSOR; if (yych != 'r') goto yy206; ++YYCURSOR; -#line 263 "../src/parse/lex.re" +#line 276 "../src/parse/lex.re" { sep = lex_conf_string(); goto loop; } -#line 1158 "src/parse/lex.cc" +#line 1165 "src/parse/lex.cc" } -#line 278 "../src/parse/lex.re" +#line 291 "../src/parse/lex.re" } @@ -1167,7 +1174,7 @@ scan: tok = cur; loc = cur_loc(); -#line 1171 "src/parse/lex.cc" +#line 1178 "src/parse/lex.cc" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -1277,12 +1284,12 @@ scan: yy223: ++YYCURSOR; yy224: -#line 402 "../src/parse/lex.re" +#line 415 "../src/parse/lex.re" { msg.fatal(tok_loc(), "unexpected character: '%c'", *tok); goto scan; } -#line 1286 "src/parse/lex.cc" +#line 1293 "src/parse/lex.cc" yy225: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -1290,9 +1297,9 @@ yy225: if (yybm[0+yych] & 16) { goto yy225; } -#line 384 "../src/parse/lex.re" +#line 397 "../src/parse/lex.re" { goto scan; } -#line 1296 "src/parse/lex.cc" +#line 1303 "src/parse/lex.cc" yy228: yyaccept = 0; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); @@ -1303,7 +1310,7 @@ yy228: if (yych == '#') goto yy258; } yy229: -#line 391 "../src/parse/lex.re" +#line 404 "../src/parse/lex.re" { next_line(); if (lexer_state == LEX_FLEX_NAME) { @@ -1314,16 +1321,16 @@ yy229: goto scan; } } -#line 1318 "src/parse/lex.cc" +#line 1325 "src/parse/lex.cc" yy230: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy228; goto yy224; yy231: ++YYCURSOR; -#line 304 "../src/parse/lex.re" +#line 317 "../src/parse/lex.re" { yylval.regexp = lex_str('"'); return TOKEN_REGEXP; } -#line 1327 "src/parse/lex.cc" +#line 1334 "src/parse/lex.cc" yy233: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '^') { @@ -1338,30 +1345,30 @@ yy233: yy234: ++YYCURSOR; yy235: -#line 313 "../src/parse/lex.re" +#line 326 "../src/parse/lex.re" { return *tok; } -#line 1344 "src/parse/lex.cc" +#line 1351 "src/parse/lex.cc" yy236: yych = (YYCTYPE)*++YYCURSOR; if (yych == '}') goto yy263; goto yy224; yy237: ++YYCURSOR; -#line 303 "../src/parse/lex.re" +#line 316 "../src/parse/lex.re" { yylval.regexp = lex_str('\''); return TOKEN_REGEXP; } -#line 1353 "src/parse/lex.cc" +#line 1360 "src/parse/lex.cc" yy239: yych = (YYCTYPE)*++YYCURSOR; if (yych == '/') goto yy263; goto yy235; yy240: ++YYCURSOR; -#line 379 "../src/parse/lex.re" +#line 392 "../src/parse/lex.re" { yylval.regexp = ast_dot(tok_loc()); return TOKEN_REGEXP; } -#line 1365 "src/parse/lex.cc" +#line 1372 "src/parse/lex.cc" yy242: yych = (YYCTYPE)*++YYCURSOR; if (yych == '*') goto yy265; @@ -1373,9 +1380,9 @@ yy243: goto yy224; yy244: ++YYCURSOR; -#line 296 "../src/parse/lex.re" +#line 309 "../src/parse/lex.re" { return lex_clist(); } -#line 1379 "src/parse/lex.cc" +#line 1386 "src/parse/lex.cc" yy246: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); @@ -1389,7 +1396,7 @@ yy248: if (yybm[0+yych] & 32) { goto yy247; } -#line 356 "../src/parse/lex.re" +#line 369 "../src/parse/lex.re" { if (!globopts->FFlag || lex_namedef_context_re2c()) { yylval.str = newstr(tok, cur); @@ -1412,13 +1419,13 @@ yy248: return TOKEN_REGEXP; } } -#line 1416 "src/parse/lex.cc" +#line 1423 "src/parse/lex.cc" yy250: yych = (YYCTYPE)*++YYCURSOR; if (yych == '^') goto yy273; -#line 305 "../src/parse/lex.re" +#line 318 "../src/parse/lex.re" { yylval.regexp = lex_cls(false); return TOKEN_REGEXP; } -#line 1422 "src/parse/lex.cc" +#line 1429 "src/parse/lex.cc" yy252: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy275; @@ -1441,9 +1448,9 @@ yy253: } } yy254: -#line 288 "../src/parse/lex.re" +#line 301 "../src/parse/lex.re" { lex_code_in_braces(); return TOKEN_CODE; } -#line 1447 "src/parse/lex.cc" +#line 1454 "src/parse/lex.cc" yy255: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -1502,35 +1509,35 @@ yy260: } } yy262: -#line 308 "../src/parse/lex.re" +#line 321 "../src/parse/lex.re" { yylval.regexp = ast_tag(tok_loc(), newstr(tok + 1, cur), tok[0] == '#'); return TOKEN_REGEXP; } -#line 1511 "src/parse/lex.cc" +#line 1518 "src/parse/lex.cc" yy263: ++YYCURSOR; -#line 301 "../src/parse/lex.re" +#line 314 "../src/parse/lex.re" { tok = cur; return 0; } -#line 1516 "src/parse/lex.cc" +#line 1523 "src/parse/lex.cc" yy265: ++YYCURSOR; -#line 299 "../src/parse/lex.re" +#line 312 "../src/parse/lex.re" { lex_c_comment(); goto scan; } -#line 1521 "src/parse/lex.cc" +#line 1528 "src/parse/lex.cc" yy267: ++YYCURSOR; -#line 298 "../src/parse/lex.re" +#line 311 "../src/parse/lex.re" { lex_cpp_comment(); goto scan; } -#line 1526 "src/parse/lex.cc" +#line 1533 "src/parse/lex.cc" yy269: yyaccept = 3; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == '>') goto yy271; yy270: -#line 289 "../src/parse/lex.re" +#line 302 "../src/parse/lex.re" { lex_code_indented(); return TOKEN_CODE; } -#line 1534 "src/parse/lex.cc" +#line 1541 "src/parse/lex.cc" yy271: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -1563,9 +1570,9 @@ yy271: } yy273: ++YYCURSOR; -#line 306 "../src/parse/lex.re" +#line 319 "../src/parse/lex.re" { yylval.regexp = lex_cls(true); return TOKEN_REGEXP; } -#line 1569 "src/parse/lex.cc" +#line 1576 "src/parse/lex.cc" yy275: yych = (YYCTYPE)*++YYCURSOR; if (yych == '2') goto yy286; @@ -1573,12 +1580,12 @@ yy275: yy276: ++YYCURSOR; yy277: -#line 341 "../src/parse/lex.re" +#line 354 "../src/parse/lex.re" { msg.fatal(tok_loc(), "illegal closure form, use '{n}', '{n,}', '{n,m}' " "where n and m are numbers"); } -#line 1582 "src/parse/lex.cc" +#line 1589 "src/parse/lex.cc" yy278: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); @@ -1636,12 +1643,12 @@ yy283: } yy285: p = yyt1; -#line 291 "../src/parse/lex.re" +#line 304 "../src/parse/lex.re" { yylval.str = newstr(p, cur); return tok[0] == ':' ? TOKEN_CJUMP : TOKEN_CNEXT; } -#line 1645 "src/parse/lex.cc" +#line 1652 "src/parse/lex.cc" yy286: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy293; @@ -1655,7 +1662,7 @@ yy287: goto yy277; yy288: ++YYCURSOR; -#line 315 "../src/parse/lex.re" +#line 328 "../src/parse/lex.re" { if (!s_to_u32_unsafe (tok + 1, cur - 1, yylval.bounds.min)) { msg.fatal(tok_loc(), "repetition count overflow"); @@ -1663,10 +1670,10 @@ yy288: yylval.bounds.max = yylval.bounds.min; return TOKEN_CLOSESIZE; } -#line 1667 "src/parse/lex.cc" +#line 1674 "src/parse/lex.cc" yy290: ++YYCURSOR; -#line 346 "../src/parse/lex.re" +#line 359 "../src/parse/lex.re" { if (!globopts->FFlag) { msg.fatal(tok_loc(), "curly braces for names only allowed with -F switch"); @@ -1674,7 +1681,7 @@ yy290: yylval.str = newstr(tok + 1, cur - 1); return TOKEN_ID; } -#line 1678 "src/parse/lex.cc" +#line 1685 "src/parse/lex.cc" yy292: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy298; @@ -1693,7 +1700,7 @@ yy294: goto yy257; yy296: ++YYCURSOR; -#line 333 "../src/parse/lex.re" +#line 346 "../src/parse/lex.re" { if (!s_to_u32_unsafe (tok + 1, cur - 2, yylval.bounds.min)) { msg.fatal(tok_loc(), "repetition lower bound overflow"); @@ -1701,20 +1708,20 @@ yy296: yylval.bounds.max = std::numeric_limits::max(); return TOKEN_CLOSESIZE; } -#line 1705 "src/parse/lex.cc" +#line 1712 "src/parse/lex.cc" yy298: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy303; goto yy257; yy299: ++YYCURSOR; -#line 354 "../src/parse/lex.re" +#line 367 "../src/parse/lex.re" { return TOKEN_CONF; } -#line 1714 "src/parse/lex.cc" +#line 1721 "src/parse/lex.cc" yy301: ++YYCURSOR; p = yyt1; -#line 323 "../src/parse/lex.re" +#line 336 "../src/parse/lex.re" { if (!s_to_u32_unsafe (tok + 1, p, yylval.bounds.min)) { msg.fatal(tok_loc(), "repetition lower bound overflow"); @@ -1724,7 +1731,7 @@ yy301: } return TOKEN_CLOSESIZE; } -#line 1728 "src/parse/lex.cc" +#line 1735 "src/parse/lex.cc" yy303: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '0') goto yy305; @@ -1780,12 +1787,12 @@ yy308: yy310: ++YYCURSOR; YYCURSOR = yyt1; -#line 386 "../src/parse/lex.re" +#line 399 "../src/parse/lex.re" { set_sourceline (); return TOKEN_LINE_INFO; } -#line 1789 "src/parse/lex.cc" +#line 1796 "src/parse/lex.cc" yy312: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy310; @@ -1811,14 +1818,14 @@ yy316: if (yych == '\n') goto yy257; goto yy313; } -#line 406 "../src/parse/lex.re" +#line 419 "../src/parse/lex.re" } bool Scanner::lex_namedef_context_re2c() { -#line 1822 "src/parse/lex.cc" +#line 1829 "src/parse/lex.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -1873,9 +1880,9 @@ bool Scanner::lex_namedef_context_re2c() } } yy319: -#line 413 "../src/parse/lex.re" +#line 426 "../src/parse/lex.re" { return false; } -#line 1879 "src/parse/lex.cc" +#line 1886 "src/parse/lex.cc" yy320: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); @@ -1892,18 +1899,18 @@ yy323: if (yych == '>') goto yy322; ++YYCURSOR; YYCURSOR = yyt1; -#line 412 "../src/parse/lex.re" +#line 425 "../src/parse/lex.re" { return true; } -#line 1898 "src/parse/lex.cc" +#line 1905 "src/parse/lex.cc" } -#line 414 "../src/parse/lex.re" +#line 427 "../src/parse/lex.re" } bool Scanner::lex_namedef_context_flex() { -#line 1907 "src/parse/lex.cc" +#line 1914 "src/parse/lex.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -1950,9 +1957,9 @@ bool Scanner::lex_namedef_context_flex() yyt1 = YYCURSOR; goto yy329; } -#line 422 "../src/parse/lex.re" +#line 435 "../src/parse/lex.re" { return false; } -#line 1956 "src/parse/lex.cc" +#line 1963 "src/parse/lex.cc" yy329: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -1967,17 +1974,17 @@ yy329: if (yych == '{') goto yy332; } YYCURSOR = yyt1; -#line 421 "../src/parse/lex.re" +#line 434 "../src/parse/lex.re" { return true; } -#line 1973 "src/parse/lex.cc" +#line 1980 "src/parse/lex.cc" yy332: ++YYCURSOR; YYCURSOR = yyt1; -#line 420 "../src/parse/lex.re" +#line 433 "../src/parse/lex.re" { return false; } -#line 1979 "src/parse/lex.cc" +#line 1986 "src/parse/lex.cc" } -#line 423 "../src/parse/lex.re" +#line 436 "../src/parse/lex.re" } @@ -1986,7 +1993,7 @@ int Scanner::lex_clist() int kind = TOKEN_CLIST; CondList *cl = new CondList; -#line 1990 "src/parse/lex.cc" +#line 1997 "src/parse/lex.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -2036,30 +2043,30 @@ yy334: if (yych <= '!') goto yy338; if (yych == '>') goto yy341; yy337: -#line 433 "../src/parse/lex.re" +#line 446 "../src/parse/lex.re" { goto cond; } -#line 2042 "src/parse/lex.cc" +#line 2049 "src/parse/lex.cc" yy338: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych == '\t') goto yy338; if (yych == ' ') goto yy338; -#line 431 "../src/parse/lex.re" +#line 444 "../src/parse/lex.re" { kind = TOKEN_CSETUP; goto cond; } -#line 2051 "src/parse/lex.cc" +#line 2058 "src/parse/lex.cc" yy341: ++YYCURSOR; -#line 432 "../src/parse/lex.re" +#line 445 "../src/parse/lex.re" { kind = TOKEN_CZERO; goto end; } -#line 2056 "src/parse/lex.cc" +#line 2063 "src/parse/lex.cc" } -#line 434 "../src/parse/lex.re" +#line 447 "../src/parse/lex.re" cond: tok = cur; -#line 2063 "src/parse/lex.cc" +#line 2070 "src/parse/lex.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -2111,14 +2118,14 @@ cond: } yy345: ++YYCURSOR; -#line 440 "../src/parse/lex.re" +#line 453 "../src/parse/lex.re" { goto error; } -#line 2117 "src/parse/lex.cc" +#line 2124 "src/parse/lex.cc" yy347: ++YYCURSOR; -#line 439 "../src/parse/lex.re" +#line 452 "../src/parse/lex.re" { if (!cl->empty()) goto error; cl->insert("*"); goto next; } -#line 2122 "src/parse/lex.cc" +#line 2129 "src/parse/lex.cc" yy349: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -2126,15 +2133,15 @@ yy349: if (yybm[0+yych] & 128) { goto yy349; } -#line 438 "../src/parse/lex.re" +#line 451 "../src/parse/lex.re" { cl->insert(getstr(tok, cur)); goto next; } -#line 2132 "src/parse/lex.cc" +#line 2139 "src/parse/lex.cc" } -#line 441 "../src/parse/lex.re" +#line 454 "../src/parse/lex.re" next: -#line 2138 "src/parse/lex.cc" +#line 2145 "src/parse/lex.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -2185,9 +2192,9 @@ next: } ++YYCURSOR; yy355: -#line 446 "../src/parse/lex.re" +#line 459 "../src/parse/lex.re" { goto error; } -#line 2191 "src/parse/lex.cc" +#line 2198 "src/parse/lex.cc" yy356: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= ' ') { @@ -2209,14 +2216,14 @@ yy357: if (yybm[0+yych] & 128) { goto yy357; } -#line 444 "../src/parse/lex.re" +#line 457 "../src/parse/lex.re" { goto cond; } -#line 2215 "src/parse/lex.cc" +#line 2222 "src/parse/lex.cc" yy360: ++YYCURSOR; -#line 445 "../src/parse/lex.re" +#line 458 "../src/parse/lex.re" { goto end; } -#line 2220 "src/parse/lex.cc" +#line 2227 "src/parse/lex.cc" yy362: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -2234,7 +2241,7 @@ yy362: YYCURSOR = YYMARKER; goto yy355; } -#line 447 "../src/parse/lex.re" +#line 460 "../src/parse/lex.re" end: yylval.clist = cl; @@ -2250,7 +2257,7 @@ void Scanner::lex_code_indented() tok = cur; code: -#line 2254 "src/parse/lex.cc" +#line 2261 "src/parse/lex.cc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); @@ -2278,15 +2285,15 @@ code: } yy367: ++YYCURSOR; -#line 472 "../src/parse/lex.re" +#line 485 "../src/parse/lex.re" { fail_if_eof(); goto code; } -#line 2284 "src/parse/lex.cc" +#line 2291 "src/parse/lex.cc" yy369: ++YYCURSOR; yy370: -#line 477 "../src/parse/lex.re" +#line 490 "../src/parse/lex.re" { goto code; } -#line 2290 "src/parse/lex.cc" +#line 2297 "src/parse/lex.cc" yy371: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '\f') { @@ -2297,7 +2304,7 @@ yy371: if (yych == ' ') goto yy379; } yy372: -#line 463 "../src/parse/lex.re" +#line 476 "../src/parse/lex.re" { next_line(); while (isspace(tok[0])) ++tok; @@ -2306,16 +2313,16 @@ yy372: yylval.code = new Code(loc, getstr(tok, p)); return; } -#line 2310 "src/parse/lex.cc" +#line 2317 "src/parse/lex.cc" yy373: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy371; goto yy370; yy374: ++YYCURSOR; -#line 476 "../src/parse/lex.re" +#line 489 "../src/parse/lex.re" { lex_string(cur[-1]); goto code; } -#line 2319 "src/parse/lex.cc" +#line 2326 "src/parse/lex.cc" yy376: yych = (YYCTYPE)*++YYCURSOR; if (yych == '*') goto yy381; @@ -2323,27 +2330,27 @@ yy376: goto yy370; yy377: ++YYCURSOR; -#line 473 "../src/parse/lex.re" +#line 486 "../src/parse/lex.re" { msg.fatal(cur_loc(), "Curly braces are not allowed after ':='"); } -#line 2329 "src/parse/lex.cc" +#line 2336 "src/parse/lex.cc" yy379: ++YYCURSOR; YYCURSOR -= 1; -#line 462 "../src/parse/lex.re" +#line 475 "../src/parse/lex.re" { next_line(); goto code; } -#line 2335 "src/parse/lex.cc" +#line 2342 "src/parse/lex.cc" yy381: ++YYCURSOR; -#line 474 "../src/parse/lex.re" +#line 487 "../src/parse/lex.re" { lex_c_comment(); goto code; } -#line 2340 "src/parse/lex.cc" +#line 2347 "src/parse/lex.cc" yy383: ++YYCURSOR; -#line 475 "../src/parse/lex.re" +#line 488 "../src/parse/lex.re" { lex_cpp_comment(); goto code; } -#line 2345 "src/parse/lex.cc" +#line 2352 "src/parse/lex.cc" } -#line 478 "../src/parse/lex.re" +#line 491 "../src/parse/lex.re" } @@ -2353,7 +2360,7 @@ void Scanner::lex_code_in_braces() uint32_t depth = 1; code: -#line 2357 "src/parse/lex.cc" +#line 2364 "src/parse/lex.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -2415,15 +2422,15 @@ code: } yy387: ++YYCURSOR; -#line 498 "../src/parse/lex.re" +#line 511 "../src/parse/lex.re" { fail_if_eof(); goto code; } -#line 2421 "src/parse/lex.cc" +#line 2428 "src/parse/lex.cc" yy389: ++YYCURSOR; yy390: -#line 502 "../src/parse/lex.re" +#line 515 "../src/parse/lex.re" { goto code; } -#line 2427 "src/parse/lex.cc" +#line 2434 "src/parse/lex.cc" yy391: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 32) { @@ -2431,18 +2438,18 @@ yy391: } if (yych == '#') goto yy404; yy392: -#line 497 "../src/parse/lex.re" +#line 510 "../src/parse/lex.re" { next_line(); goto code; } -#line 2437 "src/parse/lex.cc" +#line 2444 "src/parse/lex.cc" yy393: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy391; goto yy390; yy394: ++YYCURSOR; -#line 501 "../src/parse/lex.re" +#line 514 "../src/parse/lex.re" { lex_string(cur[-1]); goto code; } -#line 2446 "src/parse/lex.cc" +#line 2453 "src/parse/lex.cc" yy396: yych = (YYCTYPE)*++YYCURSOR; if (yych == '*') goto yy406; @@ -2450,12 +2457,12 @@ yy396: goto yy390; yy397: ++YYCURSOR; -#line 495 "../src/parse/lex.re" +#line 508 "../src/parse/lex.re" { ++depth; goto code; } -#line 2456 "src/parse/lex.cc" +#line 2463 "src/parse/lex.cc" yy399: ++YYCURSOR; -#line 487 "../src/parse/lex.re" +#line 500 "../src/parse/lex.re" { if (--depth == 0) { yylval.code = new Code(loc, getstr(tok, cur)); @@ -2463,7 +2470,7 @@ yy399: } goto code; } -#line 2467 "src/parse/lex.cc" +#line 2474 "src/parse/lex.cc" yy401: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -2489,14 +2496,14 @@ yy404: } yy406: ++YYCURSOR; -#line 499 "../src/parse/lex.re" +#line 512 "../src/parse/lex.re" { lex_c_comment(); goto code; } -#line 2495 "src/parse/lex.cc" +#line 2502 "src/parse/lex.cc" yy408: ++YYCURSOR; -#line 500 "../src/parse/lex.re" +#line 513 "../src/parse/lex.re" { lex_cpp_comment(); goto code; } -#line 2500 "src/parse/lex.cc" +#line 2507 "src/parse/lex.cc" yy410: yych = (YYCTYPE)*++YYCURSOR; if (yych != 'i') goto yy403; @@ -2553,9 +2560,9 @@ yy418: yy420: ++YYCURSOR; YYCURSOR = yyt1; -#line 496 "../src/parse/lex.re" +#line 509 "../src/parse/lex.re" { set_sourceline (); goto code; } -#line 2559 "src/parse/lex.cc" +#line 2566 "src/parse/lex.cc" yy422: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy420; @@ -2581,7 +2588,7 @@ yy426: if (yych == '\n') goto yy403; goto yy423; } -#line 503 "../src/parse/lex.re" +#line 516 "../src/parse/lex.re" } @@ -2589,7 +2596,7 @@ void Scanner::lex_string(char delim) { loop: -#line 2593 "src/parse/lex.cc" +#line 2600 "src/parse/lex.cc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); @@ -2615,29 +2622,29 @@ loop: } yy429: ++YYCURSOR; -#line 513 "../src/parse/lex.re" +#line 526 "../src/parse/lex.re" { fail_if_eof(); goto loop; } -#line 2621 "src/parse/lex.cc" +#line 2628 "src/parse/lex.cc" yy431: ++YYCURSOR; yy432: -#line 514 "../src/parse/lex.re" +#line 527 "../src/parse/lex.re" { goto loop; } -#line 2627 "src/parse/lex.cc" +#line 2634 "src/parse/lex.cc" yy433: ++YYCURSOR; -#line 512 "../src/parse/lex.re" +#line 525 "../src/parse/lex.re" { next_line(); goto loop; } -#line 2632 "src/parse/lex.cc" +#line 2639 "src/parse/lex.cc" yy435: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy433; goto yy432; yy436: ++YYCURSOR; -#line 510 "../src/parse/lex.re" +#line 523 "../src/parse/lex.re" { if (cur[-1] == delim) return; else goto loop; } -#line 2641 "src/parse/lex.cc" +#line 2648 "src/parse/lex.cc" yy438: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '&') { @@ -2648,11 +2655,11 @@ yy438: } yy439: ++YYCURSOR; -#line 511 "../src/parse/lex.re" +#line 524 "../src/parse/lex.re" { goto loop; } -#line 2654 "src/parse/lex.cc" +#line 2661 "src/parse/lex.cc" } -#line 515 "../src/parse/lex.re" +#line 528 "../src/parse/lex.re" } @@ -2660,7 +2667,7 @@ void Scanner::lex_c_comment() { loop: -#line 2664 "src/parse/lex.cc" +#line 2671 "src/parse/lex.cc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); @@ -2676,20 +2683,20 @@ loop: } yy443: ++YYCURSOR; -#line 524 "../src/parse/lex.re" +#line 537 "../src/parse/lex.re" { fail_if_eof(); goto loop; } -#line 2682 "src/parse/lex.cc" +#line 2689 "src/parse/lex.cc" yy445: ++YYCURSOR; yy446: -#line 525 "../src/parse/lex.re" +#line 538 "../src/parse/lex.re" { goto loop; } -#line 2688 "src/parse/lex.cc" +#line 2695 "src/parse/lex.cc" yy447: ++YYCURSOR; -#line 523 "../src/parse/lex.re" +#line 536 "../src/parse/lex.re" { next_line(); goto loop; } -#line 2693 "src/parse/lex.cc" +#line 2700 "src/parse/lex.cc" yy449: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy447; @@ -2698,11 +2705,11 @@ yy450: yych = (YYCTYPE)*++YYCURSOR; if (yych != '/') goto yy446; ++YYCURSOR; -#line 522 "../src/parse/lex.re" +#line 535 "../src/parse/lex.re" { return; } -#line 2704 "src/parse/lex.cc" +#line 2711 "src/parse/lex.cc" } -#line 526 "../src/parse/lex.re" +#line 539 "../src/parse/lex.re" } @@ -2710,7 +2717,7 @@ void Scanner::lex_cpp_comment() { loop: -#line 2714 "src/parse/lex.cc" +#line 2721 "src/parse/lex.cc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); @@ -2725,26 +2732,26 @@ loop: } yy455: ++YYCURSOR; -#line 534 "../src/parse/lex.re" +#line 547 "../src/parse/lex.re" { fail_if_eof(); goto loop; } -#line 2731 "src/parse/lex.cc" +#line 2738 "src/parse/lex.cc" yy457: ++YYCURSOR; yy458: -#line 535 "../src/parse/lex.re" +#line 548 "../src/parse/lex.re" { goto loop; } -#line 2737 "src/parse/lex.cc" +#line 2744 "src/parse/lex.cc" yy459: ++YYCURSOR; -#line 533 "../src/parse/lex.re" +#line 546 "../src/parse/lex.re" { next_line(); return; } -#line 2742 "src/parse/lex.cc" +#line 2749 "src/parse/lex.cc" yy461: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy459; goto yy458; } -#line 536 "../src/parse/lex.re" +#line 549 "../src/parse/lex.re" } @@ -2757,35 +2764,35 @@ const AST *Scanner::lex_cls(bool neg) fst: tok = cur; -#line 2761 "src/parse/lex.cc" +#line 2768 "src/parse/lex.cc" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych == ']') goto yy465; -#line 549 "../src/parse/lex.re" +#line 562 "../src/parse/lex.re" { l = lex_cls_chr(); goto snd; } -#line 2769 "src/parse/lex.cc" +#line 2776 "src/parse/lex.cc" yy465: ++YYCURSOR; -#line 548 "../src/parse/lex.re" +#line 561 "../src/parse/lex.re" { return ast_cls(loc0, cls, neg); } -#line 2774 "src/parse/lex.cc" +#line 2781 "src/parse/lex.cc" } -#line 550 "../src/parse/lex.re" +#line 563 "../src/parse/lex.re" snd: -#line 2780 "src/parse/lex.cc" +#line 2787 "src/parse/lex.cc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*(YYMARKER = YYCURSOR); if (yych == '-') goto yy470; yy469: -#line 553 "../src/parse/lex.re" +#line 566 "../src/parse/lex.re" { u = l; goto add; } -#line 2789 "src/parse/lex.cc" +#line 2796 "src/parse/lex.cc" yy470: yych = (YYCTYPE)*++YYCURSOR; if (yych != ']') goto yy472; @@ -2794,7 +2801,7 @@ yy470: yy472: ++YYCURSOR; YYCURSOR -= 1; -#line 554 "../src/parse/lex.re" +#line 567 "../src/parse/lex.re" { u = lex_cls_chr(); if (l > u) { @@ -2803,9 +2810,9 @@ yy472: } goto add; } -#line 2807 "src/parse/lex.cc" +#line 2814 "src/parse/lex.cc" } -#line 562 "../src/parse/lex.re" +#line 575 "../src/parse/lex.re" add: cls->push_back(ASTRange(l, u, loc)); @@ -2817,11 +2824,11 @@ uint32_t Scanner::lex_cls_chr() { tok = cur; const loc_t &loc = cur_loc(); - #line 599 "../src/parse/lex.re" + #line 612 "../src/parse/lex.re" if (globopts->input_encoding == Enc::ASCII) { -#line 2825 "src/parse/lex.cc" +#line 2832 "src/parse/lex.cc" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -2838,20 +2845,20 @@ uint32_t Scanner::lex_cls_chr() } yy476: ++YYCURSOR; -#line 580 "../src/parse/lex.re" +#line 593 "../src/parse/lex.re" { fail_if_eof(); return 0; } -#line 2844 "src/parse/lex.cc" +#line 2851 "src/parse/lex.cc" yy478: ++YYCURSOR; yy479: -#line 582 "../src/parse/lex.re" +#line 595 "../src/parse/lex.re" { return decode(tok); } -#line 2850 "src/parse/lex.cc" +#line 2857 "src/parse/lex.cc" yy480: ++YYCURSOR; -#line 574 "../src/parse/lex.re" +#line 587 "../src/parse/lex.re" { msg.fatal(loc, "newline in character class"); } -#line 2855 "src/parse/lex.cc" +#line 2862 "src/parse/lex.cc" yy482: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy480; @@ -2910,36 +2917,36 @@ yy483: } } yy484: -#line 577 "../src/parse/lex.re" +#line 590 "../src/parse/lex.re" { msg.fatal(loc, "syntax error in escape sequence"); } -#line 2916 "src/parse/lex.cc" +#line 2923 "src/parse/lex.cc" yy485: ++YYCURSOR; yy486: -#line 595 "../src/parse/lex.re" +#line 608 "../src/parse/lex.re" { msg.warn.useless_escape(loc, tok, cur); return decode(tok + 1); } -#line 2925 "src/parse/lex.cc" +#line 2932 "src/parse/lex.cc" yy487: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy480; goto yy486; yy488: ++YYCURSOR; -#line 593 "../src/parse/lex.re" +#line 606 "../src/parse/lex.re" { return static_cast('-'); } -#line 2934 "src/parse/lex.cc" +#line 2941 "src/parse/lex.cc" yy490: yyaccept = 0; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy491; if (yych <= '7') goto yy515; yy491: -#line 576 "../src/parse/lex.re" +#line 589 "../src/parse/lex.re" { msg.fatal(loc, "syntax error in octal escape sequence"); } -#line 2943 "src/parse/lex.cc" +#line 2950 "src/parse/lex.cc" yy492: ++YYCURSOR; goto yy491; @@ -2955,9 +2962,9 @@ yy493: if (yych <= 'f') goto yy517; } yy494: -#line 575 "../src/parse/lex.re" +#line 588 "../src/parse/lex.re" { msg.fatal(loc, "syntax error in hexadecimal escape sequence"); } -#line 2961 "src/parse/lex.cc" +#line 2968 "src/parse/lex.cc" yy495: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); @@ -2973,49 +2980,49 @@ yy495: } yy496: ++YYCURSOR; -#line 592 "../src/parse/lex.re" +#line 605 "../src/parse/lex.re" { return static_cast('\\'); } -#line 2979 "src/parse/lex.cc" +#line 2986 "src/parse/lex.cc" yy498: ++YYCURSOR; -#line 594 "../src/parse/lex.re" +#line 607 "../src/parse/lex.re" { return static_cast(']'); } -#line 2984 "src/parse/lex.cc" +#line 2991 "src/parse/lex.cc" yy500: ++YYCURSOR; -#line 585 "../src/parse/lex.re" +#line 598 "../src/parse/lex.re" { return static_cast('\a'); } -#line 2989 "src/parse/lex.cc" +#line 2996 "src/parse/lex.cc" yy502: ++YYCURSOR; -#line 586 "../src/parse/lex.re" +#line 599 "../src/parse/lex.re" { return static_cast('\b'); } -#line 2994 "src/parse/lex.cc" +#line 3001 "src/parse/lex.cc" yy504: ++YYCURSOR; -#line 587 "../src/parse/lex.re" +#line 600 "../src/parse/lex.re" { return static_cast('\f'); } -#line 2999 "src/parse/lex.cc" +#line 3006 "src/parse/lex.cc" yy506: ++YYCURSOR; -#line 588 "../src/parse/lex.re" +#line 601 "../src/parse/lex.re" { return static_cast('\n'); } -#line 3004 "src/parse/lex.cc" +#line 3011 "src/parse/lex.cc" yy508: ++YYCURSOR; -#line 589 "../src/parse/lex.re" +#line 602 "../src/parse/lex.re" { return static_cast('\r'); } -#line 3009 "src/parse/lex.cc" +#line 3016 "src/parse/lex.cc" yy510: ++YYCURSOR; -#line 590 "../src/parse/lex.re" +#line 603 "../src/parse/lex.re" { return static_cast('\t'); } -#line 3014 "src/parse/lex.cc" +#line 3021 "src/parse/lex.cc" yy512: ++YYCURSOR; -#line 591 "../src/parse/lex.re" +#line 604 "../src/parse/lex.re" { return static_cast('\v'); } -#line 3019 "src/parse/lex.cc" +#line 3026 "src/parse/lex.cc" yy514: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); @@ -3078,9 +3085,9 @@ yy519: } yy520: ++YYCURSOR; -#line 584 "../src/parse/lex.re" +#line 597 "../src/parse/lex.re" { return unesc_oct(tok, cur); } -#line 3084 "src/parse/lex.cc" +#line 3091 "src/parse/lex.cc" yy522: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { @@ -3107,9 +3114,9 @@ yy523: } yy524: ++YYCURSOR; -#line 583 "../src/parse/lex.re" +#line 596 "../src/parse/lex.re" { return unesc_hex(tok, cur); } -#line 3113 "src/parse/lex.cc" +#line 3120 "src/parse/lex.cc" yy526: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { @@ -3133,12 +3140,12 @@ yy527: goto yy516; } } -#line 601 "../src/parse/lex.re" +#line 614 "../src/parse/lex.re" } else { -#line 3142 "src/parse/lex.cc" +#line 3149 "src/parse/lex.cc" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -3169,20 +3176,20 @@ yy527: } yy530: ++YYCURSOR; -#line 580 "../src/parse/lex.re" +#line 593 "../src/parse/lex.re" { fail_if_eof(); return 0; } -#line 3175 "src/parse/lex.cc" +#line 3182 "src/parse/lex.cc" yy532: ++YYCURSOR; yy533: -#line 582 "../src/parse/lex.re" +#line 595 "../src/parse/lex.re" { return decode(tok); } -#line 3181 "src/parse/lex.cc" +#line 3188 "src/parse/lex.cc" yy534: ++YYCURSOR; -#line 574 "../src/parse/lex.re" +#line 587 "../src/parse/lex.re" { msg.fatal(loc, "newline in character class"); } -#line 3186 "src/parse/lex.cc" +#line 3193 "src/parse/lex.cc" yy536: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy534; @@ -3272,15 +3279,15 @@ yy537: } } yy538: -#line 577 "../src/parse/lex.re" +#line 590 "../src/parse/lex.re" { msg.fatal(loc, "syntax error in escape sequence"); } -#line 3278 "src/parse/lex.cc" +#line 3285 "src/parse/lex.cc" yy539: ++YYCURSOR; yy540: -#line 578 "../src/parse/lex.re" +#line 591 "../src/parse/lex.re" { msg.fatal(loc, "syntax error"); } -#line 3284 "src/parse/lex.cc" +#line 3291 "src/parse/lex.cc" yy541: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x7F) goto yy540; @@ -3319,30 +3326,30 @@ yy546: yy547: ++YYCURSOR; yy548: -#line 595 "../src/parse/lex.re" +#line 608 "../src/parse/lex.re" { msg.warn.useless_escape(loc, tok, cur); return decode(tok + 1); } -#line 3328 "src/parse/lex.cc" +#line 3335 "src/parse/lex.cc" yy549: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy534; goto yy548; yy550: ++YYCURSOR; -#line 593 "../src/parse/lex.re" +#line 606 "../src/parse/lex.re" { return static_cast('-'); } -#line 3337 "src/parse/lex.cc" +#line 3344 "src/parse/lex.cc" yy552: yyaccept = 2; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy553; if (yych <= '7') goto yy586; yy553: -#line 576 "../src/parse/lex.re" +#line 589 "../src/parse/lex.re" { msg.fatal(loc, "syntax error in octal escape sequence"); } -#line 3346 "src/parse/lex.cc" +#line 3353 "src/parse/lex.cc" yy554: ++YYCURSOR; goto yy553; @@ -3358,9 +3365,9 @@ yy555: if (yych <= 'f') goto yy587; } yy556: -#line 575 "../src/parse/lex.re" +#line 588 "../src/parse/lex.re" { msg.fatal(loc, "syntax error in hexadecimal escape sequence"); } -#line 3364 "src/parse/lex.cc" +#line 3371 "src/parse/lex.cc" yy557: yyaccept = 3; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); @@ -3376,49 +3383,49 @@ yy557: } yy558: ++YYCURSOR; -#line 592 "../src/parse/lex.re" +#line 605 "../src/parse/lex.re" { return static_cast('\\'); } -#line 3382 "src/parse/lex.cc" +#line 3389 "src/parse/lex.cc" yy560: ++YYCURSOR; -#line 594 "../src/parse/lex.re" +#line 607 "../src/parse/lex.re" { return static_cast(']'); } -#line 3387 "src/parse/lex.cc" +#line 3394 "src/parse/lex.cc" yy562: ++YYCURSOR; -#line 585 "../src/parse/lex.re" +#line 598 "../src/parse/lex.re" { return static_cast('\a'); } -#line 3392 "src/parse/lex.cc" +#line 3399 "src/parse/lex.cc" yy564: ++YYCURSOR; -#line 586 "../src/parse/lex.re" +#line 599 "../src/parse/lex.re" { return static_cast('\b'); } -#line 3397 "src/parse/lex.cc" +#line 3404 "src/parse/lex.cc" yy566: ++YYCURSOR; -#line 587 "../src/parse/lex.re" +#line 600 "../src/parse/lex.re" { return static_cast('\f'); } -#line 3402 "src/parse/lex.cc" +#line 3409 "src/parse/lex.cc" yy568: ++YYCURSOR; -#line 588 "../src/parse/lex.re" +#line 601 "../src/parse/lex.re" { return static_cast('\n'); } -#line 3407 "src/parse/lex.cc" +#line 3414 "src/parse/lex.cc" yy570: ++YYCURSOR; -#line 589 "../src/parse/lex.re" +#line 602 "../src/parse/lex.re" { return static_cast('\r'); } -#line 3412 "src/parse/lex.cc" +#line 3419 "src/parse/lex.cc" yy572: ++YYCURSOR; -#line 590 "../src/parse/lex.re" +#line 603 "../src/parse/lex.re" { return static_cast('\t'); } -#line 3417 "src/parse/lex.cc" +#line 3424 "src/parse/lex.cc" yy574: ++YYCURSOR; -#line 591 "../src/parse/lex.re" +#line 604 "../src/parse/lex.re" { return static_cast('\v'); } -#line 3422 "src/parse/lex.cc" +#line 3429 "src/parse/lex.cc" yy576: yyaccept = 3; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); @@ -3529,9 +3536,9 @@ yy589: } yy590: ++YYCURSOR; -#line 584 "../src/parse/lex.re" +#line 597 "../src/parse/lex.re" { return unesc_oct(tok, cur); } -#line 3535 "src/parse/lex.cc" +#line 3542 "src/parse/lex.cc" yy592: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { @@ -3558,9 +3565,9 @@ yy593: } yy594: ++YYCURSOR; -#line 583 "../src/parse/lex.re" +#line 596 "../src/parse/lex.re" { return unesc_hex(tok, cur); } -#line 3564 "src/parse/lex.cc" +#line 3571 "src/parse/lex.cc" yy596: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { @@ -3584,8 +3591,8 @@ yy597: goto yy578; } } -#line 604 "../src/parse/lex.re" - #line 604 "../src/parse/lex.re" +#line 617 "../src/parse/lex.re" + #line 617 "../src/parse/lex.re" } } @@ -3595,11 +3602,11 @@ bool Scanner::lex_str_chr(char quote, ASTChar &ast) tok = cur; ast.loc = cur_loc(); - #line 638 "../src/parse/lex.re" + #line 651 "../src/parse/lex.re" if (globopts->input_encoding == Enc::ASCII) { -#line 3603 "src/parse/lex.cc" +#line 3610 "src/parse/lex.cc" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -3616,20 +3623,20 @@ bool Scanner::lex_str_chr(char quote, ASTChar &ast) } yy600: ++YYCURSOR; -#line 620 "../src/parse/lex.re" +#line 633 "../src/parse/lex.re" { fail_if_eof(); ast.chr = 0; return true; } -#line 3622 "src/parse/lex.cc" +#line 3629 "src/parse/lex.cc" yy602: ++YYCURSOR; yy603: -#line 622 "../src/parse/lex.re" +#line 635 "../src/parse/lex.re" { ast.chr = decode(tok); return tok[0] != quote; } -#line 3628 "src/parse/lex.cc" +#line 3635 "src/parse/lex.cc" yy604: ++YYCURSOR; -#line 614 "../src/parse/lex.re" +#line 627 "../src/parse/lex.re" { msg.fatal(ast.loc, "newline in character string"); } -#line 3633 "src/parse/lex.cc" +#line 3640 "src/parse/lex.cc" yy606: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy604; @@ -3683,19 +3690,19 @@ yy607: } } yy608: -#line 617 "../src/parse/lex.re" +#line 630 "../src/parse/lex.re" { msg.fatal(ast.loc, "syntax error in escape sequence"); } -#line 3689 "src/parse/lex.cc" +#line 3696 "src/parse/lex.cc" yy609: ++YYCURSOR; yy610: -#line 633 "../src/parse/lex.re" +#line 646 "../src/parse/lex.re" { ast.chr = decode(tok + 1); if (tok[1] != quote) msg.warn.useless_escape(ast.loc, tok, cur); return true; } -#line 3699 "src/parse/lex.cc" +#line 3706 "src/parse/lex.cc" yy611: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy604; @@ -3706,9 +3713,9 @@ yy612: if (yych <= '/') goto yy613; if (yych <= '7') goto yy635; yy613: -#line 616 "../src/parse/lex.re" +#line 629 "../src/parse/lex.re" { msg.fatal(ast.loc, "syntax error in octal escape sequence"); } -#line 3712 "src/parse/lex.cc" +#line 3719 "src/parse/lex.cc" yy614: ++YYCURSOR; goto yy613; @@ -3724,9 +3731,9 @@ yy615: if (yych <= 'f') goto yy637; } yy616: -#line 615 "../src/parse/lex.re" +#line 628 "../src/parse/lex.re" { msg.fatal(ast.loc, "syntax error in hexadecimal escape sequence"); } -#line 3730 "src/parse/lex.cc" +#line 3737 "src/parse/lex.cc" yy617: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); @@ -3742,44 +3749,44 @@ yy617: } yy618: ++YYCURSOR; -#line 632 "../src/parse/lex.re" +#line 645 "../src/parse/lex.re" { ast.chr = static_cast('\\'); return true; } -#line 3748 "src/parse/lex.cc" +#line 3755 "src/parse/lex.cc" yy620: ++YYCURSOR; -#line 625 "../src/parse/lex.re" +#line 638 "../src/parse/lex.re" { ast.chr = static_cast('\a'); return true; } -#line 3753 "src/parse/lex.cc" +#line 3760 "src/parse/lex.cc" yy622: ++YYCURSOR; -#line 626 "../src/parse/lex.re" +#line 639 "../src/parse/lex.re" { ast.chr = static_cast('\b'); return true; } -#line 3758 "src/parse/lex.cc" +#line 3765 "src/parse/lex.cc" yy624: ++YYCURSOR; -#line 627 "../src/parse/lex.re" +#line 640 "../src/parse/lex.re" { ast.chr = static_cast('\f'); return true; } -#line 3763 "src/parse/lex.cc" +#line 3770 "src/parse/lex.cc" yy626: ++YYCURSOR; -#line 628 "../src/parse/lex.re" +#line 641 "../src/parse/lex.re" { ast.chr = static_cast('\n'); return true; } -#line 3768 "src/parse/lex.cc" +#line 3775 "src/parse/lex.cc" yy628: ++YYCURSOR; -#line 629 "../src/parse/lex.re" +#line 642 "../src/parse/lex.re" { ast.chr = static_cast('\r'); return true; } -#line 3773 "src/parse/lex.cc" +#line 3780 "src/parse/lex.cc" yy630: ++YYCURSOR; -#line 630 "../src/parse/lex.re" +#line 643 "../src/parse/lex.re" { ast.chr = static_cast('\t'); return true; } -#line 3778 "src/parse/lex.cc" +#line 3785 "src/parse/lex.cc" yy632: ++YYCURSOR; -#line 631 "../src/parse/lex.re" +#line 644 "../src/parse/lex.re" { ast.chr = static_cast('\v'); return true; } -#line 3783 "src/parse/lex.cc" +#line 3790 "src/parse/lex.cc" yy634: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); @@ -3842,9 +3849,9 @@ yy639: } yy640: ++YYCURSOR; -#line 624 "../src/parse/lex.re" +#line 637 "../src/parse/lex.re" { ast.chr = unesc_oct(tok, cur); return true; } -#line 3848 "src/parse/lex.cc" +#line 3855 "src/parse/lex.cc" yy642: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { @@ -3871,9 +3878,9 @@ yy643: } yy644: ++YYCURSOR; -#line 623 "../src/parse/lex.re" +#line 636 "../src/parse/lex.re" { ast.chr = unesc_hex(tok, cur); return true; } -#line 3877 "src/parse/lex.cc" +#line 3884 "src/parse/lex.cc" yy646: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { @@ -3897,12 +3904,12 @@ yy647: goto yy636; } } -#line 640 "../src/parse/lex.re" +#line 653 "../src/parse/lex.re" } else { -#line 3906 "src/parse/lex.cc" +#line 3913 "src/parse/lex.cc" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -3933,20 +3940,20 @@ yy647: } yy650: ++YYCURSOR; -#line 620 "../src/parse/lex.re" +#line 633 "../src/parse/lex.re" { fail_if_eof(); ast.chr = 0; return true; } -#line 3939 "src/parse/lex.cc" +#line 3946 "src/parse/lex.cc" yy652: ++YYCURSOR; yy653: -#line 622 "../src/parse/lex.re" +#line 635 "../src/parse/lex.re" { ast.chr = decode(tok); return tok[0] != quote; } -#line 3945 "src/parse/lex.cc" +#line 3952 "src/parse/lex.cc" yy654: ++YYCURSOR; -#line 614 "../src/parse/lex.re" +#line 627 "../src/parse/lex.re" { msg.fatal(ast.loc, "newline in character string"); } -#line 3950 "src/parse/lex.cc" +#line 3957 "src/parse/lex.cc" yy656: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy654; @@ -4029,15 +4036,15 @@ yy657: } } yy658: -#line 617 "../src/parse/lex.re" +#line 630 "../src/parse/lex.re" { msg.fatal(ast.loc, "syntax error in escape sequence"); } -#line 4035 "src/parse/lex.cc" +#line 4042 "src/parse/lex.cc" yy659: ++YYCURSOR; yy660: -#line 618 "../src/parse/lex.re" +#line 631 "../src/parse/lex.re" { msg.fatal(ast.loc, "syntax error"); } -#line 4041 "src/parse/lex.cc" +#line 4048 "src/parse/lex.cc" yy661: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x7F) goto yy660; @@ -4076,13 +4083,13 @@ yy666: yy667: ++YYCURSOR; yy668: -#line 633 "../src/parse/lex.re" +#line 646 "../src/parse/lex.re" { ast.chr = decode(tok + 1); if (tok[1] != quote) msg.warn.useless_escape(ast.loc, tok, cur); return true; } -#line 4086 "src/parse/lex.cc" +#line 4093 "src/parse/lex.cc" yy669: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy654; @@ -4093,9 +4100,9 @@ yy670: if (yych <= '/') goto yy671; if (yych <= '7') goto yy702; yy671: -#line 616 "../src/parse/lex.re" +#line 629 "../src/parse/lex.re" { msg.fatal(ast.loc, "syntax error in octal escape sequence"); } -#line 4099 "src/parse/lex.cc" +#line 4106 "src/parse/lex.cc" yy672: ++YYCURSOR; goto yy671; @@ -4111,9 +4118,9 @@ yy673: if (yych <= 'f') goto yy703; } yy674: -#line 615 "../src/parse/lex.re" +#line 628 "../src/parse/lex.re" { msg.fatal(ast.loc, "syntax error in hexadecimal escape sequence"); } -#line 4117 "src/parse/lex.cc" +#line 4124 "src/parse/lex.cc" yy675: yyaccept = 3; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); @@ -4129,44 +4136,44 @@ yy675: } yy676: ++YYCURSOR; -#line 632 "../src/parse/lex.re" +#line 645 "../src/parse/lex.re" { ast.chr = static_cast('\\'); return true; } -#line 4135 "src/parse/lex.cc" +#line 4142 "src/parse/lex.cc" yy678: ++YYCURSOR; -#line 625 "../src/parse/lex.re" +#line 638 "../src/parse/lex.re" { ast.chr = static_cast('\a'); return true; } -#line 4140 "src/parse/lex.cc" +#line 4147 "src/parse/lex.cc" yy680: ++YYCURSOR; -#line 626 "../src/parse/lex.re" +#line 639 "../src/parse/lex.re" { ast.chr = static_cast('\b'); return true; } -#line 4145 "src/parse/lex.cc" +#line 4152 "src/parse/lex.cc" yy682: ++YYCURSOR; -#line 627 "../src/parse/lex.re" +#line 640 "../src/parse/lex.re" { ast.chr = static_cast('\f'); return true; } -#line 4150 "src/parse/lex.cc" +#line 4157 "src/parse/lex.cc" yy684: ++YYCURSOR; -#line 628 "../src/parse/lex.re" +#line 641 "../src/parse/lex.re" { ast.chr = static_cast('\n'); return true; } -#line 4155 "src/parse/lex.cc" +#line 4162 "src/parse/lex.cc" yy686: ++YYCURSOR; -#line 629 "../src/parse/lex.re" +#line 642 "../src/parse/lex.re" { ast.chr = static_cast('\r'); return true; } -#line 4160 "src/parse/lex.cc" +#line 4167 "src/parse/lex.cc" yy688: ++YYCURSOR; -#line 630 "../src/parse/lex.re" +#line 643 "../src/parse/lex.re" { ast.chr = static_cast('\t'); return true; } -#line 4165 "src/parse/lex.cc" +#line 4172 "src/parse/lex.cc" yy690: ++YYCURSOR; -#line 631 "../src/parse/lex.re" +#line 644 "../src/parse/lex.re" { ast.chr = static_cast('\v'); return true; } -#line 4170 "src/parse/lex.cc" +#line 4177 "src/parse/lex.cc" yy692: yyaccept = 3; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); @@ -4277,9 +4284,9 @@ yy705: } yy706: ++YYCURSOR; -#line 624 "../src/parse/lex.re" +#line 637 "../src/parse/lex.re" { ast.chr = unesc_oct(tok, cur); return true; } -#line 4283 "src/parse/lex.cc" +#line 4290 "src/parse/lex.cc" yy708: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { @@ -4306,9 +4313,9 @@ yy709: } yy710: ++YYCURSOR; -#line 623 "../src/parse/lex.re" +#line 636 "../src/parse/lex.re" { ast.chr = unesc_hex(tok, cur); return true; } -#line 4312 "src/parse/lex.cc" +#line 4319 "src/parse/lex.cc" yy712: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { @@ -4332,8 +4339,8 @@ yy713: goto yy694; } } -#line 643 "../src/parse/lex.re" - #line 643 "../src/parse/lex.re" +#line 656 "../src/parse/lex.re" + #line 656 "../src/parse/lex.re" } } @@ -4356,7 +4363,7 @@ void Scanner::set_sourceline () sourceline: tok = cur; -#line 4360 "src/parse/lex.cc" +#line 4367 "src/parse/lex.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -4414,20 +4421,20 @@ sourceline: } } ++YYCURSOR; -#line 685 "../src/parse/lex.re" +#line 698 "../src/parse/lex.re" { --cur; return; } -#line 4420 "src/parse/lex.cc" +#line 4427 "src/parse/lex.cc" yy718: ++YYCURSOR; yy719: -#line 686 "../src/parse/lex.re" +#line 699 "../src/parse/lex.re" { goto sourceline; } -#line 4426 "src/parse/lex.cc" +#line 4433 "src/parse/lex.cc" yy720: ++YYCURSOR; -#line 684 "../src/parse/lex.re" +#line 697 "../src/parse/lex.re" { pos = tok = cur; return; } -#line 4431 "src/parse/lex.cc" +#line 4438 "src/parse/lex.cc" yy722: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy720; @@ -4444,7 +4451,7 @@ yy724: if (yybm[0+yych] & 64) { goto yy724; } -#line 665 "../src/parse/lex.re" +#line 678 "../src/parse/lex.re" { uint32_t l; if (!s_to_u32_unsafe(tok, cur, l)) { @@ -4453,7 +4460,7 @@ yy724: set_line(l); goto sourceline; } -#line 4457 "src/parse/lex.cc" +#line 4464 "src/parse/lex.cc" yy727: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -4470,7 +4477,7 @@ yy729: goto yy719; yy730: ++YYCURSOR; -#line 674 "../src/parse/lex.re" +#line 687 "../src/parse/lex.re" { Input &in = get_input(); std::string &name = in.escaped_name; @@ -4480,7 +4487,7 @@ yy730: msg.filenames.push_back(name); goto sourceline; } -#line 4484 "src/parse/lex.cc" +#line 4491 "src/parse/lex.cc" yy732: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); @@ -4489,7 +4496,7 @@ yy732: if (yych == '\n') goto yy729; goto yy727; } -#line 687 "../src/parse/lex.re" +#line 700 "../src/parse/lex.re" } diff --git a/bootstrap/src/parse/lex.h b/bootstrap/src/parse/lex.h index b7fc26ea..8ba656b3 100644 --- a/bootstrap/src/parse/lex.h +++ b/bootstrap/src/parse/lex.h @@ -1,5 +1,9 @@ -/* Generated by re2c 1.1.1 on Fri May 24 12:40:10 2019 */ +/* Generated by re2c 1.1.1 on Sat Jul 13 10:46:39 2019 */ +#ifndef _RE2C_PARSE_LEX_ +#define _RE2C_PARSE_LEX_ + +#include #include #include "src/util/forbid_copy.h" @@ -51,3 +55,5 @@ struct ScannerState FORBID_COPY(ScannerState); }; } // namespace re2c + +#endif // _RE2C_PARSE_LEX_ diff --git a/bootstrap/src/parse/lex_conf.cc b/bootstrap/src/parse/lex_conf.cc index 48de5613..37d85a52 100644 --- a/bootstrap/src/parse/lex_conf.cc +++ b/bootstrap/src/parse/lex_conf.cc @@ -1,29 +1,32 @@ -/* Generated by re2c 1.1.1 on Thu Mar 7 22:57:34 2019 */ +/* Generated by re2c 1.1.1 on Sat Jul 13 10:45:22 2019 */ #line 1 "../src/parse/lex_conf.re" #include "src/util/c99_stdint.h" #include -#include "src/codegen/output.h" +#include "src/codegen/input_api.h" #include "src/encoding/enc.h" +#include "src/msg/msg.h" +#include "src/options/opt.h" #include "src/parse/ast.h" #include "src/parse/scanner.h" +#include "src/regexp/empty_class_policy.h" #include "src/util/s_to_n32_unsafe.h" #include "src/util/string_utils.h" -namespace re2c -{ -#define YYFILL(n) { if (!fill (n)) fatal("unexpected end of input"); } +namespace re2c { + +#define YYFILL(n) do { if (!fill(n)) fatal("unexpected end of input"); } while(0) // global re2c config (affects the whole file) -#line 37 "../src/parse/lex_conf.re" +#line 40 "../src/parse/lex_conf.re" void Scanner::lex_conf(Opt &opts) { tok = cur; -#line 27 "src/parse/lex_conf.cc" +#line 30 "src/parse/lex_conf.cc" { unsigned char yych; unsigned int yyaccept = 0; @@ -104,12 +107,12 @@ void Scanner::lex_conf(Opt &opts) } } yy2: -#line 173 "../src/parse/lex_conf.re" +#line 176 "../src/parse/lex_conf.re" { msg.fatal(tok_loc(), "unrecognized configuration '%.*s'", static_cast(cur - tok), tok); } -#line 113 "src/parse/lex_conf.cc" +#line 116 "src/parse/lex_conf.cc" yy3: ++cur; if (lim <= cur) YYFILL(1); @@ -227,7 +230,7 @@ yy29: if (yybm[0+yych] & 32) { goto yy3; } -#line 71 "../src/parse/lex_conf.re" +#line 74 "../src/parse/lex_conf.re" { const int32_t eof = lex_conf_number(); if (eof < 0) { @@ -236,7 +239,7 @@ yy29: opts.set_eof(static_cast(eof)); return; } -#line 240 "src/parse/lex_conf.cc" +#line 243 "src/parse/lex_conf.cc" yy31: yych = (unsigned char)*++cur; if (yych == 'g') goto yy43; @@ -520,30 +523,30 @@ yy93: if (yybm[0+yych] & 32) { goto yy3; } -#line 65 "../src/parse/lex_conf.re" +#line 68 "../src/parse/lex_conf.re" { lex_conf_enc(Enc::UTF8, opts); return; } -#line 526 "src/parse/lex_conf.cc" +#line 529 "src/parse/lex_conf.cc" yy95: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 54 "../src/parse/lex_conf.re" +#line 57 "../src/parse/lex_conf.re" { bool b = lex_conf_bool(); opts.set_posix_syntax(b); opts.set_posix_semantics(b); return; } -#line 539 "src/parse/lex_conf.cc" +#line 542 "src/parse/lex_conf.cc" yy97: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 48 "../src/parse/lex_conf.re" +#line 51 "../src/parse/lex_conf.re" { opts.set_tags (lex_conf_bool()); return; } -#line 547 "src/parse/lex_conf.cc" +#line 550 "src/parse/lex_conf.cc" yy99: yych = (unsigned char)*++cur; if (yych <= 'Z') { @@ -562,9 +565,9 @@ yy99: } } yy100: -#line 43 "../src/parse/lex_conf.re" +#line 46 "../src/parse/lex_conf.re" { opts.set_bFlag (lex_conf_bool()); return; } -#line 568 "src/parse/lex_conf.cc" +#line 571 "src/parse/lex_conf.cc" yy101: yych = (unsigned char)*++cur; if (yych == 'a') goto yy144; @@ -588,9 +591,9 @@ yy102: } } yy103: -#line 44 "../src/parse/lex_conf.re" +#line 47 "../src/parse/lex_conf.re" { opts.set_dFlag (lex_conf_bool()); return; } -#line 594 "src/parse/lex_conf.cc" +#line 597 "src/parse/lex_conf.cc" yy104: yych = (unsigned char)*++cur; if (yych <= '_') { @@ -614,17 +617,17 @@ yy104: } } yy105: -#line 61 "../src/parse/lex_conf.re" +#line 64 "../src/parse/lex_conf.re" { lex_conf_enc(Enc::EBCDIC, opts); return; } -#line 620 "src/parse/lex_conf.cc" +#line 623 "src/parse/lex_conf.cc" yy106: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 45 "../src/parse/lex_conf.re" +#line 48 "../src/parse/lex_conf.re" { opts.set_gFlag (lex_conf_bool()); return; } -#line 628 "src/parse/lex_conf.cc" +#line 631 "src/parse/lex_conf.cc" yy108: yych = (unsigned char)*++cur; if (yych <= 'Z') { @@ -643,9 +646,9 @@ yy108: } } yy109: -#line 46 "../src/parse/lex_conf.re" +#line 49 "../src/parse/lex_conf.re" { opts.set_iFlag (lex_conf_bool()); return; } -#line 649 "src/parse/lex_conf.cc" +#line 652 "src/parse/lex_conf.cc" yy110: yych = (unsigned char)*++cur; if (yych == 'e') goto yy151; @@ -669,9 +672,9 @@ yy111: } } yy112: -#line 51 "../src/parse/lex_conf.re" +#line 54 "../src/parse/lex_conf.re" { opts.set_output_file (lex_conf_string()); return; } -#line 675 "src/parse/lex_conf.cc" +#line 678 "src/parse/lex_conf.cc" yy113: yych = (unsigned char)*++cur; if (yych == 'o') goto yy154; @@ -681,9 +684,9 @@ yy114: if (yybm[0+yych] & 32) { goto yy3; } -#line 47 "../src/parse/lex_conf.re" +#line 50 "../src/parse/lex_conf.re" { opts.set_sFlag (lex_conf_bool()); return; } -#line 687 "src/parse/lex_conf.cc" +#line 690 "src/parse/lex_conf.cc" yy116: yych = (unsigned char)*++cur; if (yych <= '^') { @@ -704,9 +707,9 @@ yy116: } } yy117: -#line 52 "../src/parse/lex_conf.re" +#line 55 "../src/parse/lex_conf.re" { opts.set_header_file (lex_conf_string()); return; } -#line 710 "src/parse/lex_conf.cc" +#line 713 "src/parse/lex_conf.cc" yy118: yych = (unsigned char)*++cur; if (yych <= '^') { @@ -728,9 +731,9 @@ yy118: } } yy119: -#line 62 "../src/parse/lex_conf.re" +#line 65 "../src/parse/lex_conf.re" { lex_conf_enc(Enc::UTF32, opts); return; } -#line 734 "src/parse/lex_conf.cc" +#line 737 "src/parse/lex_conf.cc" yy120: yych = (unsigned char)*++cur; if (yych <= 'Z') { @@ -749,17 +752,17 @@ yy120: } } yy121: -#line 63 "../src/parse/lex_conf.re" +#line 66 "../src/parse/lex_conf.re" { lex_conf_enc(Enc::UCS2, opts); return; } -#line 755 "src/parse/lex_conf.cc" +#line 758 "src/parse/lex_conf.cc" yy122: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 64 "../src/parse/lex_conf.re" +#line 67 "../src/parse/lex_conf.re" { lex_conf_enc(Enc::UTF16, opts); return; } -#line 763 "src/parse/lex_conf.cc" +#line 766 "src/parse/lex_conf.cc" yy124: yych = (unsigned char)*++cur; if (yych <= 'r') goto yy4; @@ -958,9 +961,9 @@ yy170: if (yybm[0+yych] & 32) { goto yy3; } -#line 108 "../src/parse/lex_conf.re" +#line 111 "../src/parse/lex_conf.re" { opts.set_yybmHexTable (lex_conf_bool()); return; } -#line 964 "src/parse/lex_conf.cc" +#line 967 "src/parse/lex_conf.cc" yy172: yych = (unsigned char)*++cur; if (yych == 'v') goto yy212; @@ -997,9 +1000,9 @@ yy179: } if (yych == '@') goto yy220; yy180: -#line 92 "../src/parse/lex_conf.re" +#line 95 "../src/parse/lex_conf.re" { opts.set_condGoto (lex_conf_string ()); return; } -#line 1003 "src/parse/lex_conf.cc" +#line 1006 "src/parse/lex_conf.cc" yy181: yych = (unsigned char)*++cur; if (yych == 'r') goto yy222; @@ -1146,9 +1149,9 @@ yy213: if (yybm[0+yych] & 32) { goto yy3; } -#line 155 "../src/parse/lex_conf.re" +#line 158 "../src/parse/lex_conf.re" { opts.set_bEmitYYCh (lex_conf_bool()); return; } -#line 1152 "src/parse/lex_conf.cc" +#line 1155 "src/parse/lex_conf.cc" yy215: yych = (unsigned char)*++cur; if (yych == 'e') goto yy264; @@ -1204,9 +1207,9 @@ yy223: if (yybm[0+yych] & 32) { goto yy3; } -#line 88 "../src/parse/lex_conf.re" +#line 91 "../src/parse/lex_conf.re" { opts.set_condPrefix (lex_conf_string ()); return; } -#line 1210 "src/parse/lex_conf.cc" +#line 1213 "src/parse/lex_conf.cc" yy225: yych = (unsigned char)*++cur; if (yych == 'A') goto yy271; @@ -1331,7 +1334,7 @@ yy251: if (yybm[0+yych] & 32) { goto yy3; } -#line 141 "../src/parse/lex_conf.re" +#line 144 "../src/parse/lex_conf.re" { const int32_t n = lex_conf_number (); if (n < 0) { @@ -1340,7 +1343,7 @@ yy251: opts.set_topIndent (static_cast (n)); return; } -#line 1344 "src/parse/lex_conf.cc" +#line 1347 "src/parse/lex_conf.cc" yy253: yych = (unsigned char)*++cur; if (yych == 'l') goto yy304; @@ -1375,9 +1378,9 @@ yy256: } } yy257: -#line 168 "../src/parse/lex_conf.re" +#line 171 "../src/parse/lex_conf.re" { opts.set_startlabel (lex_conf_string()); return; } -#line 1381 "src/parse/lex_conf.cc" +#line 1384 "src/parse/lex_conf.cc" yy258: yych = (unsigned char)*++cur; if (yych == 't') goto yy312; @@ -1525,9 +1528,9 @@ yy293: if (yybm[0+yych] & 32) { goto yy3; } -#line 68 "../src/parse/lex_conf.re" +#line 71 "../src/parse/lex_conf.re" { lex_conf_input(opts); return; } -#line 1531 "src/parse/lex_conf.cc" +#line 1534 "src/parse/lex_conf.cc" yy295: yych = (unsigned char)*++cur; if (yych == 'd') goto yy351; @@ -1577,9 +1580,9 @@ yy306: if (yybm[0+yych] & 32) { goto yy3; } -#line 164 "../src/parse/lex_conf.re" +#line 167 "../src/parse/lex_conf.re" { opts.set_labelPrefix (lex_conf_string ()); return; } -#line 1583 "src/parse/lex_conf.cc" +#line 1586 "src/parse/lex_conf.cc" yy308: ++cur; if (lim <= cur) YYFILL(1); @@ -1615,9 +1618,9 @@ yy312: if (yybm[0+yych] & 32) { goto yy3; } -#line 103 "../src/parse/lex_conf.re" +#line 106 "../src/parse/lex_conf.re" { opts.set_bUseStateAbort (lex_conf_bool()); return; } -#line 1621 "src/parse/lex_conf.cc" +#line 1624 "src/parse/lex_conf.cc" yy314: yych = (unsigned char)*++cur; if (yych == 'a') goto yy367; @@ -1631,9 +1634,9 @@ yy316: if (yybm[0+yych] & 32) { goto yy3; } -#line 137 "../src/parse/lex_conf.re" +#line 140 "../src/parse/lex_conf.re" { opts.set_tags_prefix (lex_conf_string ()); return; } -#line 1637 "src/parse/lex_conf.cc" +#line 1640 "src/parse/lex_conf.cc" yy318: yych = (unsigned char)*++cur; if (yych <= 'c') { @@ -1675,9 +1678,9 @@ yy324: } if (yych == '@') goto yy380; yy325: -#line 90 "../src/parse/lex_conf.re" +#line 93 "../src/parse/lex_conf.re" { opts.set_condDivider (lex_conf_string ()); return; } -#line 1681 "src/parse/lex_conf.cc" +#line 1684 "src/parse/lex_conf.cc" yy326: yych = (unsigned char)*++cur; if (yych == 'n') goto yy381; @@ -1823,9 +1826,9 @@ yy360: if (yybm[0+yych] & 32) { goto yy3; } -#line 102 "../src/parse/lex_conf.re" +#line 105 "../src/parse/lex_conf.re" { opts.set_yynext (lex_conf_string ()); return; } -#line 1829 "src/parse/lex_conf.cc" +#line 1832 "src/parse/lex_conf.cc" yy362: yych = (unsigned char)*++cur; if (yych <= '0') goto yy221; @@ -1835,9 +1838,9 @@ yy363: ++cur; yy364: cur = ctx; -#line 167 "../src/parse/lex_conf.re" +#line 170 "../src/parse/lex_conf.re" { opts.set_startlabel_force (lex_conf_bool()); return; } -#line 1841 "src/parse/lex_conf.cc" +#line 1844 "src/parse/lex_conf.cc" yy365: ++cur; if (lim <= cur) YYFILL(1); @@ -1884,9 +1887,9 @@ yy375: if (yybm[0+yych] & 32) { goto yy3; } -#line 162 "../src/parse/lex_conf.re" +#line 165 "../src/parse/lex_conf.re" { opts.set_fill_check (lex_conf_bool()); return; } -#line 1890 "src/parse/lex_conf.cc" +#line 1893 "src/parse/lex_conf.cc" yy377: yych = (unsigned char)*++cur; if (yych == 'e') goto yy431; @@ -1955,9 +1958,9 @@ yy389: } } yy390: -#line 157 "../src/parse/lex_conf.re" +#line 160 "../src/parse/lex_conf.re" { opts.set_fill (lex_conf_string ()); return; } -#line 1961 "src/parse/lex_conf.cc" +#line 1964 "src/parse/lex_conf.cc" yy391: yych = (unsigned char)*++cur; if (yych == 'O') goto yy450; @@ -1988,9 +1991,9 @@ yy397: if (yybm[0+yych] & 32) { goto yy3; } -#line 124 "../src/parse/lex_conf.re" +#line 127 "../src/parse/lex_conf.re" { opts.set_yypeek (lex_conf_string ()); return; } -#line 1994 "src/parse/lex_conf.cc" +#line 1997 "src/parse/lex_conf.cc" yy399: yych = (unsigned char)*++cur; if (yych == 'O') goto yy460; @@ -2008,9 +2011,9 @@ yy402: if (yybm[0+yych] & 32) { goto yy3; } -#line 125 "../src/parse/lex_conf.re" +#line 128 "../src/parse/lex_conf.re" { opts.set_yyskip (lex_conf_string ()); return; } -#line 2014 "src/parse/lex_conf.cc" +#line 2017 "src/parse/lex_conf.cc" yy404: yych = (unsigned char)*++cur; if (yych == 'N') goto yy463; @@ -2072,9 +2075,9 @@ yy417: if (yybm[0+yych] & 32) { goto yy3; } -#line 140 "../src/parse/lex_conf.re" +#line 143 "../src/parse/lex_conf.re" { opts.set_indString (lex_conf_string ()); return; } -#line 2078 "src/parse/lex_conf.cc" +#line 2081 "src/parse/lex_conf.cc" yy419: yych = (unsigned char)*++cur; if (yych == 'a') goto yy479; @@ -2096,17 +2099,17 @@ yy423: if (yybm[0+yych] & 32) { goto yy3; } -#line 107 "../src/parse/lex_conf.re" +#line 110 "../src/parse/lex_conf.re" { opts.set_yybm (lex_conf_string ()); return; } -#line 2102 "src/parse/lex_conf.cc" +#line 2105 "src/parse/lex_conf.cc" yy425: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 153 "../src/parse/lex_conf.re" +#line 156 "../src/parse/lex_conf.re" { opts.set_yych (lex_conf_string ()); return; } -#line 2110 "src/parse/lex_conf.cc" +#line 2113 "src/parse/lex_conf.cc" yy427: yych = (unsigned char)*++cur; if (yych == 'a') goto yy483; @@ -2128,9 +2131,9 @@ yy431: if (yybm[0+yych] & 32) { goto yy3; } -#line 158 "../src/parse/lex_conf.re" +#line 161 "../src/parse/lex_conf.re" { opts.set_fill_use (lex_conf_bool()); return; } -#line 2134 "src/parse/lex_conf.cc" +#line 2137 "src/parse/lex_conf.cc" yy433: yych = (unsigned char)*++cur; if (yych == 't') goto yy487; @@ -2145,17 +2148,17 @@ yy435: goto yy221; yy436: ++cur; -#line 93 "../src/parse/lex_conf.re" +#line 96 "../src/parse/lex_conf.re" { opts.set_condGotoParam (lex_conf_string ()); return; } -#line 2151 "src/parse/lex_conf.cc" +#line 2154 "src/parse/lex_conf.cc" yy438: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 89 "../src/parse/lex_conf.re" +#line 92 "../src/parse/lex_conf.re" { opts.set_condEnumPrefix (lex_conf_string ()); return; } -#line 2159 "src/parse/lex_conf.cc" +#line 2162 "src/parse/lex_conf.cc" yy440: yych = (unsigned char)*++cur; if (yych == 'P') goto yy491; @@ -2173,9 +2176,9 @@ yy443: if (yybm[0+yych] & 32) { goto yy3; } -#line 152 "../src/parse/lex_conf.re" +#line 155 "../src/parse/lex_conf.re" { opts.set_yyctype (lex_conf_string ()); return; } -#line 2179 "src/parse/lex_conf.cc" +#line 2182 "src/parse/lex_conf.cc" yy445: yych = (unsigned char)*++cur; if (yych == 'R') goto yy495; @@ -2185,9 +2188,9 @@ yy446: if (yybm[0+yych] & 32) { goto yy3; } -#line 150 "../src/parse/lex_conf.re" +#line 153 "../src/parse/lex_conf.re" { opts.set_yydebug (lex_conf_string ()); return; } -#line 2191 "src/parse/lex_conf.cc" +#line 2194 "src/parse/lex_conf.cc" yy448: yych = (unsigned char)*++cur; if (yych == 'n') goto yy497; @@ -2213,9 +2216,9 @@ yy453: if (yybm[0+yych] & 32) { goto yy3; } -#line 122 "../src/parse/lex_conf.re" +#line 125 "../src/parse/lex_conf.re" { opts.set_yylimit (lex_conf_string ()); return; } -#line 2219 "src/parse/lex_conf.cc" +#line 2222 "src/parse/lex_conf.cc" yy455: yych = (unsigned char)*++cur; if (yych == 'R') goto yy502; @@ -2225,17 +2228,17 @@ yy456: if (yybm[0+yych] & 32) { goto yy3; } -#line 134 "../src/parse/lex_conf.re" +#line 137 "../src/parse/lex_conf.re" { opts.set_yymtagn (lex_conf_string ()); return; } -#line 2231 "src/parse/lex_conf.cc" +#line 2234 "src/parse/lex_conf.cc" yy458: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 135 "../src/parse/lex_conf.re" +#line 138 "../src/parse/lex_conf.re" { opts.set_yymtagp (lex_conf_string ()); return; } -#line 2239 "src/parse/lex_conf.cc" +#line 2242 "src/parse/lex_conf.cc" yy460: yych = (unsigned char)*++cur; if (yych == 'R') goto yy504; @@ -2253,17 +2256,17 @@ yy463: if (yybm[0+yych] & 32) { goto yy3; } -#line 132 "../src/parse/lex_conf.re" +#line 135 "../src/parse/lex_conf.re" { opts.set_yystagn (lex_conf_string ()); return; } -#line 2259 "src/parse/lex_conf.cc" +#line 2262 "src/parse/lex_conf.cc" yy465: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 133 "../src/parse/lex_conf.re" +#line 136 "../src/parse/lex_conf.re" { opts.set_yystagp (lex_conf_string ()); return; } -#line 2267 "src/parse/lex_conf.cc" +#line 2270 "src/parse/lex_conf.cc" yy467: yych = (unsigned char)*++cur; if (yych == 'o') goto yy507; @@ -2353,7 +2356,7 @@ yy488: if (yybm[0+yych] & 32) { goto yy3; } -#line 109 "../src/parse/lex_conf.re" +#line 112 "../src/parse/lex_conf.re" { const int32_t n = lex_conf_number (); if (n < 0) { @@ -2362,7 +2365,7 @@ yy488: opts.set_cGotoThreshold (static_cast (n)); return; } -#line 2366 "src/parse/lex_conf.cc" +#line 2369 "src/parse/lex_conf.cc" yy490: yych = (unsigned char)*++cur; if (yych == 'n') goto yy531; @@ -2386,9 +2389,9 @@ yy491: } } yy492: -#line 126 "../src/parse/lex_conf.re" +#line 129 "../src/parse/lex_conf.re" { opts.set_yybackup (lex_conf_string ()); return; } -#line 2392 "src/parse/lex_conf.cc" +#line 2395 "src/parse/lex_conf.cc" yy493: yych = (unsigned char)*++cur; if (yych == 'P') goto yy533; @@ -2402,9 +2405,9 @@ yy495: if (yybm[0+yych] & 32) { goto yy3; } -#line 119 "../src/parse/lex_conf.re" +#line 122 "../src/parse/lex_conf.re" { opts.set_yycursor (lex_conf_string ()); return; } -#line 2408 "src/parse/lex_conf.cc" +#line 2411 "src/parse/lex_conf.cc" yy497: yych = (unsigned char)*++cur; if (yych == 'a') goto yy535; @@ -2430,9 +2433,9 @@ yy502: if (yybm[0+yych] & 32) { goto yy3; } -#line 120 "../src/parse/lex_conf.re" +#line 123 "../src/parse/lex_conf.re" { opts.set_yymarker (lex_conf_string ()); return; } -#line 2436 "src/parse/lex_conf.cc" +#line 2439 "src/parse/lex_conf.cc" yy504: yych = (unsigned char)*++cur; if (yych == 'E') goto yy540; @@ -2502,17 +2505,17 @@ yy520: if (yybm[0+yych] & 32) { goto yy3; } -#line 104 "../src/parse/lex_conf.re" +#line 107 "../src/parse/lex_conf.re" { opts.set_bUseStateNext (lex_conf_bool()); return; } -#line 2508 "src/parse/lex_conf.cc" +#line 2511 "src/parse/lex_conf.cc" yy522: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 138 "../src/parse/lex_conf.re" +#line 141 "../src/parse/lex_conf.re" { opts.set_tags_expression(lex_conf_string ()); return; } -#line 2516 "src/parse/lex_conf.cc" +#line 2519 "src/parse/lex_conf.cc" yy524: yych = (unsigned char)*++cur; if (yych == 'p') goto yy556; @@ -2534,9 +2537,9 @@ yy528: if (yybm[0+yych] & 32) { goto yy3; } -#line 154 "../src/parse/lex_conf.re" +#line 157 "../src/parse/lex_conf.re" { opts.set_yychConversion (lex_conf_bool()); return; } -#line 2540 "src/parse/lex_conf.cc" +#line 2543 "src/parse/lex_conf.cc" yy530: yych = (unsigned char)*++cur; if (yych == 'r') goto yy560; @@ -2598,9 +2601,9 @@ yy540: } } yy541: -#line 128 "../src/parse/lex_conf.re" +#line 131 "../src/parse/lex_conf.re" { opts.set_yyrestore (lex_conf_string ()); return; } -#line 2604 "src/parse/lex_conf.cc" +#line 2607 "src/parse/lex_conf.cc" yy542: yych = (unsigned char)*++cur; if (yych == 'I') goto yy578; @@ -2680,14 +2683,14 @@ yy560: if (yybm[0+yych] & 32) { goto yy3; } -#line 160 "../src/parse/lex_conf.re" +#line 163 "../src/parse/lex_conf.re" { opts.set_fill_arg_use (lex_conf_bool()); return; } -#line 2686 "src/parse/lex_conf.cc" +#line 2689 "src/parse/lex_conf.cc" yy562: ++cur; -#line 91 "../src/parse/lex_conf.re" +#line 94 "../src/parse/lex_conf.re" { opts.set_condDividerParam (lex_conf_string ()); return; } -#line 2691 "src/parse/lex_conf.cc" +#line 2694 "src/parse/lex_conf.cc" yy564: yych = (unsigned char)*++cur; if (yych == 'X') goto yy602; @@ -2697,9 +2700,9 @@ yy565: if (yybm[0+yych] & 32) { goto yy3; } -#line 82 "../src/parse/lex_conf.re" +#line 85 "../src/parse/lex_conf.re" { opts.set_yycondtype (lex_conf_string ()); return; } -#line 2703 "src/parse/lex_conf.cc" +#line 2706 "src/parse/lex_conf.cc" yy567: yych = (unsigned char)*++cur; if (yych == 'R') goto yy604; @@ -2710,9 +2713,9 @@ yy568: goto yy4; yy569: ++cur; -#line 159 "../src/parse/lex_conf.re" +#line 162 "../src/parse/lex_conf.re" { opts.set_fill_arg (lex_conf_string ()); return; } -#line 2716 "src/parse/lex_conf.cc" +#line 2719 "src/parse/lex_conf.cc" yy571: yych = (unsigned char)*++cur; if (yych == 'T') goto yy607; @@ -2736,17 +2739,17 @@ yy572: } } yy573: -#line 96 "../src/parse/lex_conf.re" +#line 99 "../src/parse/lex_conf.re" { opts.set_state_get (lex_conf_string ()); return; } -#line 2742 "src/parse/lex_conf.cc" +#line 2745 "src/parse/lex_conf.cc" yy574: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 131 "../src/parse/lex_conf.re" +#line 134 "../src/parse/lex_conf.re" { opts.set_yylessthan (lex_conf_string ()); return; } -#line 2750 "src/parse/lex_conf.cc" +#line 2753 "src/parse/lex_conf.cc" yy576: yych = (unsigned char)*++cur; if (yych == 'T') goto yy609; @@ -2779,9 +2782,9 @@ yy579: } } yy580: -#line 98 "../src/parse/lex_conf.re" +#line 101 "../src/parse/lex_conf.re" { opts.set_state_set (lex_conf_string ()); return; } -#line 2785 "src/parse/lex_conf.cc" +#line 2788 "src/parse/lex_conf.cc" yy581: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { @@ -2809,9 +2812,9 @@ yy586: if (yybm[0+yych] & 32) { goto yy3; } -#line 69 "../src/parse/lex_conf.re" +#line 72 "../src/parse/lex_conf.re" { lex_conf_empty_class(opts); return; } -#line 2815 "src/parse/lex_conf.cc" +#line 2818 "src/parse/lex_conf.cc" yy588: yych = (unsigned char)*++cur; if (yych == 'l') goto yy618; @@ -2835,57 +2838,57 @@ yy592: if (yybm[0+yych] & 32) { goto yy3; } -#line 101 "../src/parse/lex_conf.re" +#line 104 "../src/parse/lex_conf.re" { opts.set_yyfilllabel (lex_conf_string ()); return; } -#line 2841 "src/parse/lex_conf.cc" +#line 2844 "src/parse/lex_conf.cc" yy594: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 105 "../src/parse/lex_conf.re" +#line 108 "../src/parse/lex_conf.re" { opts.set_yyaccept (lex_conf_string ()); return; } -#line 2849 "src/parse/lex_conf.cc" +#line 2852 "src/parse/lex_conf.cc" yy596: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 94 "../src/parse/lex_conf.re" +#line 97 "../src/parse/lex_conf.re" { opts.set_yyctable (lex_conf_string ()); return; } -#line 2857 "src/parse/lex_conf.cc" +#line 2860 "src/parse/lex_conf.cc" yy598: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 171 "../src/parse/lex_conf.re" +#line 174 "../src/parse/lex_conf.re" { lex_conf_string (); return; } -#line 2865 "src/parse/lex_conf.cc" +#line 2868 "src/parse/lex_conf.cc" yy600: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 117 "../src/parse/lex_conf.re" +#line 120 "../src/parse/lex_conf.re" { opts.set_yytarget (lex_conf_string ()); return; } -#line 2873 "src/parse/lex_conf.cc" +#line 2876 "src/parse/lex_conf.cc" yy602: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 127 "../src/parse/lex_conf.re" +#line 130 "../src/parse/lex_conf.re" { opts.set_yybackupctx (lex_conf_string ()); return; } -#line 2881 "src/parse/lex_conf.cc" +#line 2884 "src/parse/lex_conf.cc" yy604: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 121 "../src/parse/lex_conf.re" +#line 124 "../src/parse/lex_conf.re" { opts.set_yyctxmarker (lex_conf_string ()); return; } -#line 2889 "src/parse/lex_conf.cc" +#line 2892 "src/parse/lex_conf.cc" yy606: yych = (unsigned char)*++cur; if (yych == 'd') goto yy621; @@ -2953,9 +2956,9 @@ yy621: if (yybm[0+yych] & 32) { goto yy3; } -#line 161 "../src/parse/lex_conf.re" +#line 164 "../src/parse/lex_conf.re" { opts.set_fill_naked (lex_conf_bool()); return; } -#line 2959 "src/parse/lex_conf.cc" +#line 2962 "src/parse/lex_conf.cc" yy623: yych = (unsigned char)*++cur; if (yych == 'O') goto yy639; @@ -2969,17 +2972,17 @@ yy625: if (yybm[0+yych] & 32) { goto yy3; } -#line 129 "../src/parse/lex_conf.re" +#line 132 "../src/parse/lex_conf.re" { opts.set_yyrestorectx (lex_conf_string ()); return; } -#line 2975 "src/parse/lex_conf.cc" +#line 2978 "src/parse/lex_conf.cc" yy627: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 130 "../src/parse/lex_conf.re" +#line 133 "../src/parse/lex_conf.re" { opts.set_yyrestoretag (lex_conf_string ()); return; } -#line 2983 "src/parse/lex_conf.cc" +#line 2986 "src/parse/lex_conf.cc" yy629: yych = (unsigned char)*++cur; if (yych == 'O') goto yy641; @@ -3001,9 +3004,9 @@ yy633: if (yybm[0+yych] & 32) { goto yy3; } -#line 50 "../src/parse/lex_conf.re" +#line 53 "../src/parse/lex_conf.re" { opts.set_bCaseInverted (lex_conf_bool()); return; } -#line 3007 "src/parse/lex_conf.cc" +#line 3010 "src/parse/lex_conf.cc" yy635: yych = (unsigned char)*++cur; if (yych == 's') goto yy106; @@ -3069,9 +3072,9 @@ yy646: } } yy647: -#line 83 "../src/parse/lex_conf.re" +#line 86 "../src/parse/lex_conf.re" { opts.set_cond_get (lex_conf_string ()); return; } -#line 3075 "src/parse/lex_conf.cc" +#line 3078 "src/parse/lex_conf.cc" yy648: yych = (unsigned char)*++cur; if (yych == 'e') goto yy657; @@ -3096,9 +3099,9 @@ yy649: } } yy650: -#line 85 "../src/parse/lex_conf.re" +#line 88 "../src/parse/lex_conf.re" { opts.set_cond_set (lex_conf_string ()); return; } -#line 3102 "src/parse/lex_conf.cc" +#line 3105 "src/parse/lex_conf.cc" yy651: yych = (unsigned char)*++cur; if (yych == 'e') goto yy660; @@ -3116,9 +3119,9 @@ yy654: if (yybm[0+yych] & 32) { goto yy3; } -#line 67 "../src/parse/lex_conf.re" +#line 70 "../src/parse/lex_conf.re" { lex_conf_encoding_policy(opts); return; } -#line 3122 "src/parse/lex_conf.cc" +#line 3125 "src/parse/lex_conf.cc" yy656: yych = (unsigned char)*++cur; if (yych == 'n') goto yy664; @@ -3148,9 +3151,9 @@ yy662: if (yybm[0+yych] & 32) { goto yy3; } -#line 49 "../src/parse/lex_conf.re" +#line 52 "../src/parse/lex_conf.re" { opts.set_bCaseInsensitive (lex_conf_bool()); return; } -#line 3154 "src/parse/lex_conf.cc" +#line 3157 "src/parse/lex_conf.cc" yy664: yych = (unsigned char)*++cur; if (yych == 'a') goto yy673; @@ -3160,9 +3163,9 @@ yy665: if (yybm[0+yych] & 32) { goto yy3; } -#line 97 "../src/parse/lex_conf.re" +#line 100 "../src/parse/lex_conf.re" { opts.set_state_get_naked (lex_conf_bool()); return; } -#line 3166 "src/parse/lex_conf.cc" +#line 3169 "src/parse/lex_conf.cc" yy667: yych = (unsigned char)*++cur; if (yych == 'a') goto yy674; @@ -3176,14 +3179,14 @@ yy669: if (yybm[0+yych] & 32) { goto yy3; } -#line 99 "../src/parse/lex_conf.re" +#line 102 "../src/parse/lex_conf.re" { opts.set_state_set_naked (lex_conf_bool()); return; } -#line 3182 "src/parse/lex_conf.cc" +#line 3185 "src/parse/lex_conf.cc" yy671: ++cur; -#line 100 "../src/parse/lex_conf.re" +#line 103 "../src/parse/lex_conf.re" { opts.set_state_set_arg (lex_conf_string ()); return; } -#line 3187 "src/parse/lex_conf.cc" +#line 3190 "src/parse/lex_conf.cc" yy673: yych = (unsigned char)*++cur; if (yych == 'k') goto yy676; @@ -3218,27 +3221,27 @@ yy680: goto yy4; yy681: ++cur; -#line 86 "../src/parse/lex_conf.re" +#line 89 "../src/parse/lex_conf.re" { opts.set_cond_set_arg (lex_conf_string ()); return; } -#line 3224 "src/parse/lex_conf.cc" +#line 3227 "src/parse/lex_conf.cc" yy683: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 84 "../src/parse/lex_conf.re" +#line 87 "../src/parse/lex_conf.re" { opts.set_cond_get_naked (lex_conf_bool()); return; } -#line 3232 "src/parse/lex_conf.cc" +#line 3235 "src/parse/lex_conf.cc" yy685: yych = (unsigned char)*++cur; if (yybm[0+yych] & 32) { goto yy3; } -#line 87 "../src/parse/lex_conf.re" +#line 90 "../src/parse/lex_conf.re" { opts.set_cond_set_naked (lex_conf_bool()); return; } -#line 3240 "src/parse/lex_conf.cc" +#line 3243 "src/parse/lex_conf.cc" } -#line 177 "../src/parse/lex_conf.re" +#line 180 "../src/parse/lex_conf.re" } @@ -3246,7 +3249,7 @@ void Scanner::lex_conf_encoding_policy(Opt &opts) { lex_conf_assign (); -#line 3250 "src/parse/lex_conf.cc" +#line 3253 "src/parse/lex_conf.cc" { unsigned char yych; if ((lim - cur) < 10) YYFILL(10); @@ -3259,10 +3262,10 @@ void Scanner::lex_conf_encoding_policy(Opt &opts) } ++cur; yy690: -#line 184 "../src/parse/lex_conf.re" +#line 187 "../src/parse/lex_conf.re" { msg.fatal(cur_loc(), "bad configuration value (expected: 'ignore', 'substitute', 'fail')"); } -#line 3266 "src/parse/lex_conf.cc" +#line 3269 "src/parse/lex_conf.cc" yy691: yych = (unsigned char)*(mar = ++cur); if (yych == 'a') goto yy694; @@ -3303,9 +3306,9 @@ yy700: goto yy695; yy701: ++cur; -#line 188 "../src/parse/lex_conf.re" +#line 191 "../src/parse/lex_conf.re" { opts.set_encoding_policy(Enc::POLICY_FAIL); goto end; } -#line 3309 "src/parse/lex_conf.cc" +#line 3312 "src/parse/lex_conf.cc" yy703: yych = (unsigned char)*++cur; if (yych == 'r') goto yy705; @@ -3324,9 +3327,9 @@ yy706: goto yy695; yy707: ++cur; -#line 186 "../src/parse/lex_conf.re" +#line 189 "../src/parse/lex_conf.re" { opts.set_encoding_policy(Enc::POLICY_IGNORE); goto end; } -#line 3330 "src/parse/lex_conf.cc" +#line 3333 "src/parse/lex_conf.cc" yy709: yych = (unsigned char)*++cur; if (yych != 't') goto yy695; @@ -3337,11 +3340,11 @@ yy709: yych = (unsigned char)*++cur; if (yych != 'e') goto yy695; ++cur; -#line 187 "../src/parse/lex_conf.re" +#line 190 "../src/parse/lex_conf.re" { opts.set_encoding_policy(Enc::POLICY_SUBSTITUTE); goto end; } -#line 3343 "src/parse/lex_conf.cc" +#line 3346 "src/parse/lex_conf.cc" } -#line 189 "../src/parse/lex_conf.re" +#line 192 "../src/parse/lex_conf.re" end: lex_conf_semicolon(); @@ -3351,7 +3354,7 @@ void Scanner::lex_conf_input(Opt &opts) { lex_conf_assign (); -#line 3355 "src/parse/lex_conf.cc" +#line 3358 "src/parse/lex_conf.cc" { unsigned char yych; if ((lim - cur) < 7) YYFILL(7); @@ -3362,9 +3365,9 @@ void Scanner::lex_conf_input(Opt &opts) yy717: ++cur; yy718: -#line 198 "../src/parse/lex_conf.re" +#line 201 "../src/parse/lex_conf.re" { msg.fatal(cur_loc(), "bad configuration value (expected: 'default', 'custom')"); } -#line 3368 "src/parse/lex_conf.cc" +#line 3371 "src/parse/lex_conf.cc" yy719: yych = (unsigned char)*(mar = ++cur); if (yych == 'u') goto yy721; @@ -3409,18 +3412,18 @@ yy729: goto yy722; yy730: ++cur; -#line 200 "../src/parse/lex_conf.re" +#line 203 "../src/parse/lex_conf.re" { opts.set_input_api(INPUT_CUSTOM); goto end; } -#line 3415 "src/parse/lex_conf.cc" +#line 3418 "src/parse/lex_conf.cc" yy732: yych = (unsigned char)*++cur; if (yych != 't') goto yy722; ++cur; -#line 199 "../src/parse/lex_conf.re" +#line 202 "../src/parse/lex_conf.re" { opts.set_input_api(INPUT_DEFAULT); goto end; } -#line 3422 "src/parse/lex_conf.cc" +#line 3425 "src/parse/lex_conf.cc" } -#line 201 "../src/parse/lex_conf.re" +#line 204 "../src/parse/lex_conf.re" end: lex_conf_semicolon(); @@ -3430,7 +3433,7 @@ void Scanner::lex_conf_empty_class(Opt &opts) { lex_conf_assign (); -#line 3434 "src/parse/lex_conf.cc" +#line 3437 "src/parse/lex_conf.cc" { unsigned char yych; if ((lim - cur) < 11) YYFILL(11); @@ -3439,10 +3442,10 @@ void Scanner::lex_conf_empty_class(Opt &opts) if (yych == 'm') goto yy740; ++cur; yy738: -#line 210 "../src/parse/lex_conf.re" +#line 213 "../src/parse/lex_conf.re" { msg.fatal(cur_loc(), "bad configuration value (expected: 'match-empty', 'match-none', 'error')"); } -#line 3446 "src/parse/lex_conf.cc" +#line 3449 "src/parse/lex_conf.cc" yy739: yych = (unsigned char)*(mar = ++cur); if (yych == 'r') goto yy741; @@ -3479,9 +3482,9 @@ yy747: goto yy742; yy748: ++cur; -#line 214 "../src/parse/lex_conf.re" +#line 217 "../src/parse/lex_conf.re" { opts.set_empty_class_policy(EMPTY_CLASS_ERROR); goto end; } -#line 3485 "src/parse/lex_conf.cc" +#line 3488 "src/parse/lex_conf.cc" yy750: yych = (unsigned char)*++cur; if (yych != '-') goto yy742; @@ -3519,16 +3522,16 @@ yy758: goto yy742; yy759: ++cur; -#line 213 "../src/parse/lex_conf.re" +#line 216 "../src/parse/lex_conf.re" { opts.set_empty_class_policy(EMPTY_CLASS_MATCH_NONE); goto end; } -#line 3525 "src/parse/lex_conf.cc" +#line 3528 "src/parse/lex_conf.cc" yy761: ++cur; -#line 212 "../src/parse/lex_conf.re" +#line 215 "../src/parse/lex_conf.re" { opts.set_empty_class_policy(EMPTY_CLASS_MATCH_EMPTY); goto end; } -#line 3530 "src/parse/lex_conf.cc" +#line 3533 "src/parse/lex_conf.cc" } -#line 215 "../src/parse/lex_conf.re" +#line 218 "../src/parse/lex_conf.re" end: lex_conf_semicolon(); @@ -3546,7 +3549,7 @@ void Scanner::lex_conf_enc(Enc::type_t enc, Opt &opts) void Scanner::lex_conf_assign () { -#line 3550 "src/parse/lex_conf.cc" +#line 3553 "src/parse/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { @@ -3593,9 +3596,9 @@ void Scanner::lex_conf_assign () } ++cur; yy766: -#line 232 "../src/parse/lex_conf.re" +#line 235 "../src/parse/lex_conf.re" { msg.fatal(cur_loc(), "missing '=' in configuration"); } -#line 3599 "src/parse/lex_conf.cc" +#line 3602 "src/parse/lex_conf.cc" yy767: yych = (unsigned char)*(mar = ++cur); if (yych <= 0x1F) { @@ -3612,9 +3615,9 @@ yy768: if (yybm[0+yych] & 128) { goto yy768; } -#line 233 "../src/parse/lex_conf.re" +#line 236 "../src/parse/lex_conf.re" { return; } -#line 3618 "src/parse/lex_conf.cc" +#line 3621 "src/parse/lex_conf.cc" yy771: ++cur; if (lim <= cur) YYFILL(1); @@ -3628,14 +3631,14 @@ yy771: cur = mar; goto yy766; } -#line 234 "../src/parse/lex_conf.re" +#line 237 "../src/parse/lex_conf.re" } void Scanner::lex_conf_semicolon () { -#line 3639 "src/parse/lex_conf.cc" +#line 3642 "src/parse/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { @@ -3682,9 +3685,9 @@ void Scanner::lex_conf_semicolon () } ++cur; yy777: -#line 240 "../src/parse/lex_conf.re" +#line 243 "../src/parse/lex_conf.re" { msg.fatal(cur_loc(), "missing ending ';' in configuration"); } -#line 3688 "src/parse/lex_conf.cc" +#line 3691 "src/parse/lex_conf.cc" yy778: yych = (unsigned char)*(mar = ++cur); if (yybm[0+yych] & 128) { @@ -3693,9 +3696,9 @@ yy778: if (yych != ';') goto yy777; yy779: ++cur; -#line 241 "../src/parse/lex_conf.re" +#line 244 "../src/parse/lex_conf.re" { return; } -#line 3699 "src/parse/lex_conf.cc" +#line 3702 "src/parse/lex_conf.cc" yy781: ++cur; if (lim <= cur) YYFILL(1); @@ -3707,7 +3710,7 @@ yy781: cur = mar; goto yy777; } -#line 242 "../src/parse/lex_conf.re" +#line 245 "../src/parse/lex_conf.re" } @@ -3721,7 +3724,7 @@ int32_t Scanner::lex_conf_number () lex_conf_assign (); tok = cur; -#line 3725 "src/parse/lex_conf.cc" +#line 3728 "src/parse/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { @@ -3768,9 +3771,9 @@ int32_t Scanner::lex_conf_number () } ++cur; yy787: -#line 255 "../src/parse/lex_conf.re" +#line 258 "../src/parse/lex_conf.re" { msg.fatal(cur_loc(), "bad configuration value (expected number)"); } -#line 3774 "src/parse/lex_conf.cc" +#line 3777 "src/parse/lex_conf.cc" yy788: yych = (unsigned char)*++cur; if (yych <= '0') goto yy787; @@ -3779,7 +3782,7 @@ yy788: yy789: ++cur; yy790: -#line 256 "../src/parse/lex_conf.re" +#line 259 "../src/parse/lex_conf.re" { int32_t n = 0; if (!s_to_i32_unsafe (tok, cur, n)) { @@ -3788,7 +3791,7 @@ yy790: lex_conf_semicolon (); return n; } -#line 3792 "src/parse/lex_conf.cc" +#line 3795 "src/parse/lex_conf.cc" yy791: ++cur; if (lim <= cur) YYFILL(1); @@ -3798,7 +3801,7 @@ yy791: } goto yy790; } -#line 264 "../src/parse/lex_conf.re" +#line 267 "../src/parse/lex_conf.re" } @@ -3808,7 +3811,7 @@ std::string Scanner::lex_conf_string () std::string s; tok = cur; -#line 3812 "src/parse/lex_conf.cc" +#line 3815 "src/parse/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { @@ -3864,9 +3867,9 @@ std::string Scanner::lex_conf_string () } } yy795: -#line 293 "../src/parse/lex_conf.re" +#line 296 "../src/parse/lex_conf.re" { goto end; } -#line 3870 "src/parse/lex_conf.cc" +#line 3873 "src/parse/lex_conf.cc" yy796: ++cur; if (lim <= cur) YYFILL(1); @@ -3874,15 +3877,15 @@ yy796: if (yybm[0+yych] & 128) { goto yy796; } -#line 289 "../src/parse/lex_conf.re" +#line 292 "../src/parse/lex_conf.re" { s = getstr(tok, cur); goto end; } -#line 3883 "src/parse/lex_conf.cc" +#line 3886 "src/parse/lex_conf.cc" yy799: ++cur; -#line 273 "../src/parse/lex_conf.re" +#line 276 "../src/parse/lex_conf.re" { const char quote = tok[0]; for (;;) { @@ -3899,9 +3902,9 @@ yy799: } } } -#line 3903 "src/parse/lex_conf.cc" +#line 3906 "src/parse/lex_conf.cc" } -#line 294 "../src/parse/lex_conf.re" +#line 297 "../src/parse/lex_conf.re" end: lex_conf_semicolon (); diff --git a/lib/test.cc b/lib/test.cc index 923020f5..70fe0f83 100644 --- a/lib/test.cc +++ b/lib/test.cc @@ -86,18 +86,18 @@ end: // 'long' as vararg requres suffix 'L', which is easy to forget and hard // to notice (the problem is platform/toolchain-specific). #define GS static const regoff_t gs[] -#define T(R,S,gs) e |= test(R,S,sizeof(gs)/sizeof(gs[0])/2,gs,flags); -#define T0(R,S) e |= test(R,S,0,NULL,flags); -#define T1(R,S,a,b) { GS = {a,b}; T(R,S,gs); } -#define T2(R,S,a,b,c,d) { GS = {a,b,c,d}; T(R,S,gs); } -#define T3(R,S,a,b,c,d,e,f) { GS = {a,b,c,d,e,f}; T(R,S,gs); } -#define T4(R,S,a,b,c,d,e,f,g,h) { GS = {a,b,c,d,e,f,g,h}; T(R,S,gs); } -#define T5(R,S,a,b,c,d,e,f,g,h,i,j) { GS = {a,b,c,d,e,f,g,h,i,j}; T(R,S,gs); } -#define T6(R,S,a,b,c,d,e,f,g,h,i,j,k,l) { GS = {a,b,c,d,e,f,g,h,i,j,k,l}; T(R,S,gs); } -#define T7(R,S,a,b,c,d,e,f,g,h,i,j,k,l,m,n) { GS = {a,b,c,d,e,f,g,h,i,j,k,l,m,n}; T(R,S,gs); } -#define T8(R,S,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) { GS = {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p}; T(R,S,gs); } -#define T9(R,S,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) { GS = {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r}; T(R,S,gs); } -#define T10(R,S,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) { GS = {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t}; T(R,S,gs); } +#define T(R,S,gs) do { e |= test(R,S,sizeof(gs)/sizeof(gs[0])/2,gs,flags); } while(0) +#define T0(R,S) do { e |= test(R,S,0,NULL,flags); } while(0) +#define T1(R,S,a,b) do { GS = {a,b}; T(R,S,gs); } while(0) +#define T2(R,S,a,b,c,d) do { GS = {a,b,c,d}; T(R,S,gs); } while(0) +#define T3(R,S,a,b,c,d,e,f) do { GS = {a,b,c,d,e,f}; T(R,S,gs); } while(0) +#define T4(R,S,a,b,c,d,e,f,g,h) do { GS = {a,b,c,d,e,f,g,h}; T(R,S,gs); } while(0) +#define T5(R,S,a,b,c,d,e,f,g,h,i,j) do { GS = {a,b,c,d,e,f,g,h,i,j}; T(R,S,gs); } while(0) +#define T6(R,S,a,b,c,d,e,f,g,h,i,j,k,l) do { GS = {a,b,c,d,e,f,g,h,i,j,k,l}; T(R,S,gs); } while(0) +#define T7(R,S,a,b,c,d,e,f,g,h,i,j,k,l,m,n) do { GS = {a,b,c,d,e,f,g,h,i,j,k,l,m,n}; T(R,S,gs); } while(0) +#define T8(R,S,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) do { GS = {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p}; T(R,S,gs); } while(0) +#define T9(R,S,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) do { GS = {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r}; T(R,S,gs); } while(0) +#define T10(R,S,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) do { GS = {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t}; T(R,S,gs); } while(0) static int test_all_posix(int flags) { diff --git a/src/codegen/emit_action.cc b/src/codegen/emit_action.cc index 930c491f..2fc16504 100644 --- a/src/codegen/emit_action.cc +++ b/src/codegen/emit_action.cc @@ -244,7 +244,7 @@ void gen_rescan_label(Output &o, const State *s) { const opt_t *opts = o.block().opts; if (opts->eof == NOEOF || endstate(s)) { - ; // no rescan label + // no rescan label } else if (opts->fFlag) { o.wstring(opts->yyfilllabel).wu32(o.fill_index).ws(":\n"); diff --git a/src/codegen/go_emit.cc b/src/codegen/go_emit.cc index 1e98250f..6d634714 100644 --- a/src/codegen/go_emit.cc +++ b/src/codegen/go_emit.cc @@ -155,7 +155,7 @@ label_t CpgotoTable::max_label () const if (max < table[i]->label) { max = table[i]->label; - }; + } } return max; } diff --git a/src/debug/debug.h b/src/debug/debug.h index d9fea7f2..9f367373 100644 --- a/src/debug/debug.h +++ b/src/debug/debug.h @@ -59,9 +59,9 @@ struct dump_dfa_t template void state(const ctx_t &, bool); }; -#define DASSERT(x) assert(x) +#define DASSERT(x) assert(x) #define DDUMP_NFA(opts, nfa) if (opts->dump_nfa) dump_nfa(nfa) -#define DDUMP_DFA_RAW(ctx, isnew) ctx.dc_dump.state(ctx, is_new); +#define DDUMP_DFA_RAW(ctx, isnew) do { ctx.dc_dump.state(ctx, is_new); } while(0) #define DDUMP_DFA_DET(opts, dfa) if (opts->dump_dfa_det) dump_dfa(dfa) #define DDUMP_DFA_TAGOPT(opts, dfa) if (opts->dump_dfa_tagopt) dump_dfa(dfa) #define DDUMP_DFA_MIN(opts, dfa) if (opts->dump_dfa_min) dump_dfa(dfa) diff --git a/src/parse/lex.re b/src/parse/lex.re index 70850782..2b66c716 100644 --- a/src/parse/lex.re +++ b/src/parse/lex.re @@ -32,7 +32,7 @@ namespace re2c { #define YYCURSOR cur #define YYLIMIT lim #define YYMARKER mar -#define YYFILL(n) { if (!fill (n)) fatal("unexpected end of input"); } +#define YYFILL(n) do { if (!fill(n)) fatal("unexpected end of input"); } while(0) /*!re2c // source code is in ASCII, but re2c assumes unsigned chars @@ -61,6 +61,9 @@ namespace re2c { */ /*!header:re2c:on*/ +#ifndef _RE2C_PARSE_LEX_ +#define _RE2C_PARSE_LEX_ + #include #include #include "src/util/forbid_copy.h" @@ -112,6 +115,8 @@ struct ScannerState FORBID_COPY(ScannerState); }; } // namespace re2c + +#endif // _RE2C_PARSE_LEX_ /*!header:re2c:off*/ Scanner::ParseMode Scanner::echo(Output &out) diff --git a/src/parse/lex_conf.re b/src/parse/lex_conf.re index e52ddcd6..de2ec363 100644 --- a/src/parse/lex_conf.re +++ b/src/parse/lex_conf.re @@ -14,7 +14,7 @@ namespace re2c { -#define YYFILL(n) { if (!fill (n)) fatal("unexpected end of input"); } +#define YYFILL(n) do { if (!fill(n)) fatal("unexpected end of input"); } while(0) // global re2c config (affects the whole file) /*!re2c diff --git a/src/util/smart_ptr.h b/src/util/smart_ptr.h index 3d02e1e5..56e1ffbe 100644 --- a/src/util/smart_ptr.h +++ b/src/util/smart_ptr.h @@ -42,7 +42,7 @@ private: delete count; delete ptr; } - }; + } }; template diff --git a/src/util/static_assert.h b/src/util/static_assert.h index ee81ecf9..b016398e 100644 --- a/src/util/static_assert.h +++ b/src/util/static_assert.h @@ -10,6 +10,6 @@ template<> struct static_assert_t {}; } // namespace re2c #define RE2C_STATIC_ASSERT(e) \ - { re2c::static_assert_t _; (void) _; } + do { re2c::static_assert_t _; (void) _; } while(0) #endif // _RE2C_UTIL_STATIC_ASSERT_ -- 2.40.0