From e56ab24a12826567ab8f508850fa441788d26485 Mon Sep 17 00:00:00 2001 From: helly Date: Tue, 1 May 2007 13:44:26 +0000 Subject: [PATCH] - Seperate parameter names in YYFILL/YYSETSTATE with '@' instead of ':' --- re2c/bootstrap/scanner.cc | 543 +++++++++--------- re2c/code.cc | 4 +- re2c/scanner.re | 2 +- re2c/test/condition_05.cg.re | 2 +- .../condition_05.cgitcondition_05.cgit.h.re | 2 +- .../condition_05.cgtcondition_05.cgt.h.re | 2 +- re2c/test/condition_05.cs.re | 2 +- re2c/test/condition_06.cs.re | 2 +- re2c/test/condition_07.cbi.re | 2 +- re2c/test/condition_08.cbi.re | 4 +- re2c/test/condition_08.cbif.re | 4 +- re2c/test/condition_09.cbif.re | 4 +- re2c/test/condition_09.cgif.re | 4 +- 13 files changed, 303 insertions(+), 274 deletions(-) diff --git a/re2c/bootstrap/scanner.cc b/re2c/bootstrap/scanner.cc index cdafd0d9..5d54c157 100644 --- a/re2c/bootstrap/scanner.cc +++ b/re2c/bootstrap/scanner.cc @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.0.dev on Sun Apr 29 23:44:31 2007 */ +/* Generated by re2c 0.13.0.dev on Tue May 1 09:40:03 2007 */ #line 1 "scanner.re" /* $Id$ */ #include @@ -520,10 +520,10 @@ yy71: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if(yych <= '/') { - if(yych == ',') goto yy144; + if(yych == ',') goto yy147; } else { - if(yych <= '0') goto yy141; - if(yych <= '9') goto yy142; + if(yych <= '0') goto yy144; + if(yych <= '9') goto yy145; } yy72: #line 246 "scanner.re" @@ -534,7 +534,7 @@ yy72: #line 535 "scanner.cc" yy73: ++YYCURSOR; - if((yych = *YYCURSOR) == '*') goto yy139; + if((yych = *YYCURSOR) == '*') goto yy142; yy74: #line 299 "scanner.re" { @@ -543,7 +543,7 @@ yy74: #line 544 "scanner.cc" yy75: ++YYCURSOR; - if((yych = *YYCURSOR) == '/') goto yy137; + if((yych = *YYCURSOR) == '/') goto yy140; #line 303 "scanner.re" { yylval.op = *tok; @@ -553,7 +553,7 @@ yy75: yy77: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if(yych != 0x0A) goto yy133; + if(yych != 0x0A) goto yy136; yy78: #line 273 "scanner.re" { @@ -563,7 +563,7 @@ yy78: yy79: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if(yych != 0x0A) goto yy128; + if(yych != 0x0A) goto yy131; yy80: #line 276 "scanner.re" { @@ -574,8 +574,8 @@ yy81: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if(yych == 0x0A) goto yy82; - if(yych == '^') goto yy119; - goto yy118; + if(yych == '^') goto yy122; + goto yy121; yy82: #line 292 "scanner.re" { @@ -585,7 +585,7 @@ yy82: yy83: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if(yych == '>') goto yy112; + if(yych == '>') goto yy115; goto yy74; yy84: yych = *++YYCURSOR; @@ -726,24 +726,25 @@ yy108: if(yyaccept <= 6) { goto yy111; } else { - goto yy145; + goto yy148; } } } yy109: yyaccept = 6; YYMARKER = ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; - if(yych <= 'Z') { + if(yych <= '@') { if(yych <= '9') { if(yych >= '0') goto yy109; } else { if(yych <= ':') goto yy107; - if(yych >= 'A') goto yy109; + if(yych >= '@') goto yy112; } } else { if(yych <= '_') { + if(yych <= 'Z') goto yy109; if(yych >= '_') goto yy109; } else { if(yych <= '`') goto yy111; @@ -759,18 +760,46 @@ yy111: yylval.str = new Str(token()); return CONFIG; } -#line 763 "scanner.cc" +#line 764 "scanner.cc" yy112: - YYCTXMARKER = YYCURSOR + 1; yych = *++YYCURSOR; - goto yy114; + if(yych <= '^') { + if(yych <= '@') goto yy108; + if(yych >= '[') goto yy108; + } else { + if(yych == '`') goto yy108; + if(yych >= '{') goto yy108; + } yy113: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy114: - if(yybm[0+yych] & 8) { + if(yych <= 'Z') { + if(yych <= '/') goto yy111; + if(yych <= '9') goto yy113; + if(yych <= '@') goto yy111; goto yy113; + } else { + if(yych <= '_') { + if(yych <= '^') goto yy111; + goto yy113; + } else { + if(yych <= '`') goto yy111; + if(yych <= 'z') goto yy113; + goto yy111; + } + } +yy115: + YYCTXMARKER = YYCURSOR + 1; + yych = *++YYCURSOR; + goto yy117; +yy116: + ++YYCURSOR; + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy117: + if(yybm[0+yych] & 8) { + goto yy116; } if(yych != '{') goto yy108; ++YYCURSOR; @@ -779,37 +808,37 @@ yy114: { RETURN(NOCOND); } -#line 783 "scanner.cc" -yy117: +#line 812 "scanner.cc" +yy120: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy118: +yy121: if(yybm[0+yych] & 16) { - goto yy117; + goto yy120; } if(yych <= '[') goto yy108; - if(yych <= '\\') goto yy121; - goto yy122; -yy119: + if(yych <= '\\') goto yy124; + goto yy125; +yy122: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yych <= '[') { if(yych == 0x0A) goto yy108; - goto yy119; + goto yy122; } else { - if(yych <= '\\') goto yy124; - if(yych <= ']') goto yy125; - goto yy119; + if(yych <= '\\') goto yy127; + if(yych <= ']') goto yy128; + goto yy122; } -yy121: +yy124: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yych == 0x0A) goto yy108; - goto yy117; -yy122: + goto yy120; +yy125: ++YYCURSOR; #line 286 "scanner.re" { @@ -817,14 +846,14 @@ yy122: yylval.regexp = ranToRE(token()); return RANGE; } -#line 821 "scanner.cc" -yy124: +#line 850 "scanner.cc" +yy127: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yych == 0x0A) goto yy108; - goto yy119; -yy125: + goto yy122; +yy128: ++YYCURSOR; #line 280 "scanner.re" { @@ -832,23 +861,23 @@ yy125: yylval.regexp = invToRE(token()); return RANGE; } -#line 836 "scanner.cc" -yy127: +#line 865 "scanner.cc" +yy130: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy128: +yy131: if(yybm[0+yych] & 32) { - goto yy127; + goto yy130; } if(yych <= '&') goto yy108; - if(yych <= '\'') goto yy130; + if(yych <= '\'') goto yy133; ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yych == 0x0A) goto yy108; - goto yy127; -yy130: + goto yy130; +yy133: ++YYCURSOR; #line 267 "scanner.re" { @@ -856,23 +885,23 @@ yy130: yylval.regexp = strToCaseInsensitiveRE(token()); return STRING; } -#line 860 "scanner.cc" -yy132: +#line 889 "scanner.cc" +yy135: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy133: +yy136: if(yybm[0+yych] & 64) { - goto yy132; + goto yy135; } if(yych <= '!') goto yy108; - if(yych <= '"') goto yy135; + if(yych <= '"') goto yy138; ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yych == 0x0A) goto yy108; - goto yy132; -yy135: + goto yy135; +yy138: ++YYCURSOR; #line 261 "scanner.re" { @@ -880,47 +909,47 @@ yy135: yylval.regexp = strToRE(token()); return STRING; } -#line 884 "scanner.cc" -yy137: +#line 913 "scanner.cc" +yy140: ++YYCURSOR; #line 256 "scanner.re" { tok = cursor; RETURN(0); } -#line 892 "scanner.cc" -yy139: +#line 921 "scanner.cc" +yy142: ++YYCURSOR; #line 251 "scanner.re" { depth = 1; goto comment; } -#line 900 "scanner.cc" -yy141: +#line 929 "scanner.cc" +yy144: yych = *++YYCURSOR; - if(yych == ',') goto yy155; - goto yy143; -yy142: + if(yych == ',') goto yy158; + goto yy146; +yy145: ++YYCURSOR; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; -yy143: +yy146: if(yybm[0+yych] & 128) { - goto yy142; + goto yy145; } - if(yych == ',') goto yy148; - if(yych == '}') goto yy146; + if(yych == ',') goto yy151; + if(yych == '}') goto yy149; goto yy108; -yy144: +yy147: ++YYCURSOR; -yy145: +yy148: #line 335 "scanner.re" { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } -#line 923 "scanner.cc" -yy146: +#line 952 "scanner.cc" +yy149: ++YYCURSOR; #line 317 "scanner.re" { @@ -928,13 +957,13 @@ yy146: yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); } -#line 932 "scanner.cc" -yy148: +#line 961 "scanner.cc" +yy151: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if(yych <= '/') goto yy145; - if(yych <= '9') goto yy151; - if(yych != '}') goto yy145; + if(yych <= '/') goto yy148; + if(yych <= '9') goto yy154; + if(yych != '}') goto yy148; ++YYCURSOR; #line 329 "scanner.re" { @@ -942,13 +971,13 @@ yy148: yylval.extop.maxsize = -1; RETURN(CLOSESIZE); } -#line 946 "scanner.cc" -yy151: +#line 975 "scanner.cc" +yy154: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yych <= '/') goto yy108; - if(yych <= '9') goto yy151; + if(yych <= '9') goto yy154; if(yych != '}') goto yy108; ++YYCURSOR; #line 323 "scanner.re" @@ -957,27 +986,27 @@ yy151: yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1)); RETURN(CLOSESIZE); } -#line 961 "scanner.cc" -yy155: +#line 990 "scanner.cc" +yy158: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); - if(yych <= '/') goto yy145; - if(yych <= '9') goto yy151; - if(yych != '}') goto yy145; + if(yych <= '/') goto yy148; + if(yych <= '9') goto yy154; + if(yych != '}') goto yy148; ++YYCURSOR; #line 312 "scanner.re" { yylval.op = '*'; RETURN(CLOSE); } -#line 974 "scanner.cc" +#line 1003 "scanner.cc" } #line 377 "scanner.re" code: -#line 981 "scanner.cc" +#line 1010 "scanner.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -1018,20 +1047,20 @@ code: yych = *YYCURSOR; if(yych <= '&') { if(yych <= 0x0A) { - if(yych <= 0x00) goto yy166; - if(yych <= 0x09) goto yy168; - goto yy164; + if(yych <= 0x00) goto yy169; + if(yych <= 0x09) goto yy171; + goto yy167; } else { - if(yych == '"') goto yy170; - goto yy168; + if(yych == '"') goto yy173; + goto yy171; } } else { if(yych <= '{') { - if(yych <= '\'') goto yy171; - if(yych <= 'z') goto yy168; - goto yy162; + if(yych <= '\'') goto yy174; + if(yych <= 'z') goto yy171; + goto yy165; } else { - if(yych != '}') goto yy168; + if(yych != '}') goto yy171; } } ++YYCURSOR; @@ -1045,16 +1074,16 @@ code: } goto code; } -#line 1049 "scanner.cc" -yy162: +#line 1078 "scanner.cc" +yy165: ++YYCURSOR; #line 390 "scanner.re" { ++depth; goto code; } -#line 1057 "scanner.cc" -yy164: +#line 1086 "scanner.cc" +yy167: ++YYCURSOR; #line 394 "scanner.re" { @@ -1066,8 +1095,8 @@ yy164: cline++; goto code; } -#line 1070 "scanner.cc" -yy166: +#line 1099 "scanner.cc" +yy169: ++YYCURSOR; #line 403 "scanner.re" { @@ -1081,81 +1110,81 @@ yy166: } goto code; } -#line 1085 "scanner.cc" -yy168: +#line 1114 "scanner.cc" +yy171: ++YYCURSOR; -yy169: +yy172: #line 414 "scanner.re" { goto code; } -#line 1093 "scanner.cc" -yy170: +#line 1122 "scanner.cc" +yy173: yych = *(YYMARKER = ++YYCURSOR); - if(yych == 0x0A) goto yy169; - goto yy177; -yy171: + if(yych == 0x0A) goto yy172; + goto yy180; +yy174: yych = *(YYMARKER = ++YYCURSOR); - if(yych == 0x0A) goto yy169; - goto yy173; -yy172: + if(yych == 0x0A) goto yy172; + goto yy176; +yy175: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy173: +yy176: if(yybm[0+yych] & 64) { - goto yy172; + goto yy175; } - if(yych <= '&') goto yy174; - if(yych <= '\'') goto yy168; - goto yy175; -yy174: + if(yych <= '&') goto yy177; + if(yych <= '\'') goto yy171; + goto yy178; +yy177: YYCURSOR = YYMARKER; - goto yy169; -yy175: + goto yy172; +yy178: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych == 0x0A) goto yy174; - goto yy172; -yy176: + if(yych == 0x0A) goto yy177; + goto yy175; +yy179: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy177: +yy180: if(yybm[0+yych] & 128) { - goto yy176; + goto yy179; } - if(yych <= '!') goto yy174; - if(yych <= '"') goto yy168; + if(yych <= '!') goto yy177; + if(yych <= '"') goto yy171; ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych == 0x0A) goto yy174; - goto yy176; + if(yych == 0x0A) goto yy177; + goto yy179; } #line 417 "scanner.re" comment: -#line 1143 "scanner.cc" +#line 1172 "scanner.cc" { YYCTYPE yych; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if(yych <= ')') { - if(yych == 0x0A) goto yy184; - goto yy186; + if(yych == 0x0A) goto yy187; + goto yy189; } else { - if(yych <= '*') goto yy181; - if(yych == '/') goto yy183; - goto yy186; + if(yych <= '*') goto yy184; + if(yych == '/') goto yy186; + goto yy189; } -yy181: +yy184: ++YYCURSOR; - if((yych = *YYCURSOR) == '/') goto yy189; -yy182: + if((yych = *YYCURSOR) == '/') goto yy192; +yy185: #line 445 "scanner.re" { if(cursor == eof) @@ -1164,12 +1193,12 @@ yy182: } goto comment; } -#line 1168 "scanner.cc" -yy183: +#line 1197 "scanner.cc" +yy186: yych = *++YYCURSOR; - if(yych == '*') goto yy187; - goto yy182; -yy184: + if(yych == '*') goto yy190; + goto yy185; +yy187: ++YYCURSOR; #line 436 "scanner.re" { @@ -1181,11 +1210,11 @@ yy184: cline++; goto comment; } -#line 1185 "scanner.cc" -yy186: +#line 1214 "scanner.cc" +yy189: yych = *++YYCURSOR; - goto yy182; -yy187: + goto yy185; +yy190: ++YYCURSOR; #line 431 "scanner.re" { @@ -1193,8 +1222,8 @@ yy187: fatal("ambiguous /* found"); goto comment; } -#line 1197 "scanner.cc" -yy189: +#line 1226 "scanner.cc" +yy192: ++YYCURSOR; #line 421 "scanner.re" { @@ -1207,14 +1236,14 @@ yy189: goto comment; } } -#line 1211 "scanner.cc" +#line 1240 "scanner.cc" } #line 452 "scanner.re" config: -#line 1218 "scanner.cc" +#line 1247 "scanner.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -1254,65 +1283,65 @@ config: if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if(yych <= 0x1F) { - if(yych != 0x09) goto yy197; + if(yych != 0x09) goto yy200; } else { - if(yych <= ' ') goto yy193; - if(yych == '=') goto yy195; - goto yy197; + if(yych <= ' ') goto yy196; + if(yych == '=') goto yy198; + goto yy200; } -yy193: +yy196: ++YYCURSOR; yych = *YYCURSOR; - goto yy202; -yy194: + goto yy205; +yy197: #line 456 "scanner.re" { goto config; } -#line 1273 "scanner.cc" -yy195: +#line 1302 "scanner.cc" +yy198: ++YYCURSOR; yych = *YYCURSOR; - goto yy200; -yy196: + goto yy203; +yy199: #line 459 "scanner.re" { iscfg = 2; cur = cursor; RETURN('='); } -#line 1285 "scanner.cc" -yy197: +#line 1314 "scanner.cc" +yy200: ++YYCURSOR; #line 464 "scanner.re" { fatal("missing '='"); } -#line 1292 "scanner.cc" -yy199: +#line 1321 "scanner.cc" +yy202: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy200: +yy203: if(yybm[0+yych] & 128) { - goto yy199; + goto yy202; } - goto yy196; -yy201: + goto yy199; +yy204: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy202: - if(yych == 0x09) goto yy201; - if(yych == ' ') goto yy201; - goto yy194; +yy205: + if(yych == 0x09) goto yy204; + if(yych == ' ') goto yy204; + goto yy197; } #line 467 "scanner.re" value: -#line 1316 "scanner.cc" +#line 1345 "scanner.cc" { YYCTYPE yych; static const unsigned char yybm[] = { @@ -1353,32 +1382,32 @@ value: yych = *YYCURSOR; if(yych <= '&') { if(yych <= 0x0D) { - if(yych <= 0x08) goto yy211; - if(yych <= 0x0A) goto yy205; - if(yych <= 0x0C) goto yy211; + if(yych <= 0x08) goto yy214; + if(yych <= 0x0A) goto yy208; + if(yych <= 0x0C) goto yy214; } else { if(yych <= ' ') { - if(yych <= 0x1F) goto yy211; + if(yych <= 0x1F) goto yy214; } else { - if(yych == '"') goto yy213; - goto yy211; + if(yych == '"') goto yy216; + goto yy214; } } } else { if(yych <= '/') { - if(yych <= '\'') goto yy215; - if(yych == '-') goto yy208; - goto yy211; + if(yych <= '\'') goto yy218; + if(yych == '-') goto yy211; + goto yy214; } else { if(yych <= '9') { - if(yych <= '0') goto yy206; - goto yy209; + if(yych <= '0') goto yy209; + goto yy212; } else { - if(yych != ';') goto yy211; + if(yych != ';') goto yy214; } } } -yy205: +yy208: #line 477 "scanner.re" { cur = cursor; @@ -1386,13 +1415,13 @@ yy205: iscfg = 0; return VALUE; } -#line 1390 "scanner.cc" -yy206: +#line 1419 "scanner.cc" +yy209: ++YYCURSOR; if(yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy211; + goto yy214; } -yy207: +yy210: #line 471 "scanner.re" { cur = cursor; @@ -1400,148 +1429,148 @@ yy207: iscfg = 0; return NUMBER; } -#line 1404 "scanner.cc" -yy208: +#line 1433 "scanner.cc" +yy211: yych = *++YYCURSOR; - if(yych <= '0') goto yy212; - if(yych >= ':') goto yy212; -yy209: + if(yych <= '0') goto yy215; + if(yych >= ':') goto yy215; +yy212: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yybm[0+yych] & 4) { - goto yy209; + goto yy212; } if(yych <= 0x0D) { - if(yych <= 0x08) goto yy211; - if(yych <= 0x0A) goto yy207; - if(yych >= 0x0D) goto yy207; + if(yych <= 0x08) goto yy214; + if(yych <= 0x0A) goto yy210; + if(yych >= 0x0D) goto yy210; } else { if(yych <= ' ') { - if(yych >= ' ') goto yy207; + if(yych >= ' ') goto yy210; } else { - if(yych == ';') goto yy207; + if(yych == ';') goto yy210; } } -yy211: +yy214: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; -yy212: +yy215: if(yybm[0+yych] & 8) { - goto yy211; + goto yy214; } - goto yy205; -yy213: + goto yy208; +yy216: YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yybm[0+yych] & 16) { - goto yy213; + goto yy216; } if(yych <= '!') { - if(yych == 0x0A) goto yy205; - goto yy223; + if(yych == 0x0A) goto yy208; + goto yy226; } else { - if(yych <= '"') goto yy211; - if(yych <= '[') goto yy223; - goto yy225; + if(yych <= '"') goto yy214; + if(yych <= '[') goto yy226; + goto yy228; } -yy215: +yy218: YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yybm[0+yych] & 32) { - goto yy215; + goto yy218; } if(yych <= '&') { - if(yych == 0x0A) goto yy205; + if(yych == 0x0A) goto yy208; } else { - if(yych <= '\'') goto yy211; - if(yych >= '\\') goto yy220; + if(yych <= '\'') goto yy214; + if(yych >= '\\') goto yy223; } -yy217: +yy220: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yybm[0+yych] & 64) { - goto yy217; + goto yy220; } - if(yych <= '&') goto yy219; - if(yych <= '\'') goto yy221; - goto yy222; -yy219: + if(yych <= '&') goto yy222; + if(yych <= '\'') goto yy224; + goto yy225; +yy222: YYCURSOR = YYMARKER; - goto yy205; -yy220: + goto yy208; +yy223: YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yych <= 0x0D) { if(yych <= 0x09) { - if(yych <= 0x08) goto yy215; - goto yy217; + if(yych <= 0x08) goto yy218; + goto yy220; } else { - if(yych <= 0x0A) goto yy205; - if(yych <= 0x0C) goto yy215; - goto yy217; + if(yych <= 0x0A) goto yy208; + if(yych <= 0x0C) goto yy218; + goto yy220; } } else { if(yych <= ' ') { - if(yych <= 0x1F) goto yy215; - goto yy217; + if(yych <= 0x1F) goto yy218; + goto yy220; } else { - if(yych == ';') goto yy217; - goto yy215; + if(yych == ';') goto yy220; + goto yy218; } } -yy221: +yy224: yych = *++YYCURSOR; - goto yy205; -yy222: + goto yy208; +yy225: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych == 0x0A) goto yy219; - goto yy217; -yy223: + if(yych == 0x0A) goto yy222; + goto yy220; +yy226: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yybm[0+yych] & 128) { - goto yy223; + goto yy226; } - if(yych <= '!') goto yy219; - if(yych <= '"') goto yy221; - goto yy226; -yy225: + if(yych <= '!') goto yy222; + if(yych <= '"') goto yy224; + goto yy229; +yy228: YYMARKER = ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; if(yych <= 0x0D) { if(yych <= 0x09) { - if(yych <= 0x08) goto yy213; - goto yy223; + if(yych <= 0x08) goto yy216; + goto yy226; } else { - if(yych <= 0x0A) goto yy205; - if(yych <= 0x0C) goto yy213; - goto yy223; + if(yych <= 0x0A) goto yy208; + if(yych <= 0x0C) goto yy216; + goto yy226; } } else { if(yych <= ' ') { - if(yych <= 0x1F) goto yy213; - goto yy223; + if(yych <= 0x1F) goto yy216; + goto yy226; } else { - if(yych == ';') goto yy223; - goto yy213; + if(yych == ';') goto yy226; + goto yy216; } } -yy226: +yy229: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; - if(yych == 0x0A) goto yy219; - goto yy223; + if(yych == 0x0A) goto yy222; + goto yy226; } #line 483 "scanner.re" diff --git a/re2c/code.cc b/re2c/code.cc index 856eac34..22820f3f 100644 --- a/re2c/code.cc +++ b/re2c/code.cc @@ -1988,12 +1988,12 @@ void Scanner::config(const Str& cfg, const Str& val) { condEnumPrefix = strVal; } - else if (cfg.to_string() == "define:YYFILL:len") + else if (cfg.to_string() == "define:YYFILL@len") { yyFillLength = strVal; bUseYYFillParam = false; } - else if (cfg.to_string() == "define:YYSETSTATE:state") + else if (cfg.to_string() == "define:YYSETSTATE@state") { yySetStateParam = strVal; bUseYYSetStateParam = false; diff --git a/re2c/scanner.re b/re2c/scanner.re index b0f14dbb..a03008af 100644 --- a/re2c/scanner.re +++ b/re2c/scanner.re @@ -93,7 +93,7 @@ cname = ":" name; space = [ \t]; ws = (space | [\r\n]); eol = ("\r\n" | "\n"); -config = "re2c" cname+; +config = "re2c" cname+ ("@" name)?; value = [^\r\n; \t]* | dstring | sstring; */ diff --git a/re2c/test/condition_05.cg.re b/re2c/test/condition_05.cg.re index 17cb4c19..b70cb073 100755 --- a/re2c/test/condition_05.cg.re +++ b/re2c/test/condition_05.cg.re @@ -58,7 +58,7 @@ re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->ptr; -re2c:define:YYFILL:len = #; +re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked= 1; re2c:define:YYFILL = "{ if(fill(s, #) >= 0) break; }"; re2c:define:YYCONDITION = state; diff --git a/re2c/test/condition_05.cgitcondition_05.cgit.h.re b/re2c/test/condition_05.cgitcondition_05.cgit.h.re index 17cb4c19..b70cb073 100755 --- a/re2c/test/condition_05.cgitcondition_05.cgit.h.re +++ b/re2c/test/condition_05.cgitcondition_05.cgit.h.re @@ -58,7 +58,7 @@ re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->ptr; -re2c:define:YYFILL:len = #; +re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked= 1; re2c:define:YYFILL = "{ if(fill(s, #) >= 0) break; }"; re2c:define:YYCONDITION = state; diff --git a/re2c/test/condition_05.cgtcondition_05.cgt.h.re b/re2c/test/condition_05.cgtcondition_05.cgt.h.re index 17cb4c19..b70cb073 100755 --- a/re2c/test/condition_05.cgtcondition_05.cgt.h.re +++ b/re2c/test/condition_05.cgtcondition_05.cgt.h.re @@ -58,7 +58,7 @@ re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->ptr; -re2c:define:YYFILL:len = #; +re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked= 1; re2c:define:YYFILL = "{ if(fill(s, #) >= 0) break; }"; re2c:define:YYCONDITION = state; diff --git a/re2c/test/condition_05.cs.re b/re2c/test/condition_05.cs.re index 17cb4c19..b70cb073 100755 --- a/re2c/test/condition_05.cs.re +++ b/re2c/test/condition_05.cs.re @@ -58,7 +58,7 @@ re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->ptr; -re2c:define:YYFILL:len = #; +re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked= 1; re2c:define:YYFILL = "{ if(fill(s, #) >= 0) break; }"; re2c:define:YYCONDITION = state; diff --git a/re2c/test/condition_06.cs.re b/re2c/test/condition_06.cs.re index 8a511d5b..e9d31872 100755 --- a/re2c/test/condition_06.cs.re +++ b/re2c/test/condition_06.cs.re @@ -68,7 +68,7 @@ re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; -re2c:define:YYFILL:len = #; +re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked= 1; re2c:define:YYFILL = "{ if(fill(s, #) >= 0) break; }"; re2c:define:YYCONDITION = state; diff --git a/re2c/test/condition_07.cbi.re b/re2c/test/condition_07.cbi.re index 76264fef..921056ce 100755 --- a/re2c/test/condition_07.cbi.re +++ b/re2c/test/condition_07.cbi.re @@ -68,7 +68,7 @@ re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; -re2c:define:YYFILL:len = #; +re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked= 1; re2c:define:YYFILL = "{ if(fill(s, #) >= 0) break; }"; re2c:define:YYCONDITION = state; diff --git a/re2c/test/condition_08.cbi.re b/re2c/test/condition_08.cbi.re index 01361cf7..1e4fb32d 100755 --- a/re2c/test/condition_08.cbi.re +++ b/re2c/test/condition_08.cbi.re @@ -69,10 +69,10 @@ re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; -re2c:define:YYFILL:len = #; +re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked = 1; re2c:define:YYFILL = "if(fill(s, #) >= 0) break;"; -re2c:define:YYSETSTATE:state = #; +re2c:define:YYSETSTATE@state = #; re2c:define:YYSETSTATE = "s->state = #;"; re2c:define:YYGETSTATE = "s->state"; re2c:define:YYGETSTATE:naked = 1; diff --git a/re2c/test/condition_08.cbif.re b/re2c/test/condition_08.cbif.re index 01361cf7..1e4fb32d 100755 --- a/re2c/test/condition_08.cbif.re +++ b/re2c/test/condition_08.cbif.re @@ -69,10 +69,10 @@ re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; -re2c:define:YYFILL:len = #; +re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked = 1; re2c:define:YYFILL = "if(fill(s, #) >= 0) break;"; -re2c:define:YYSETSTATE:state = #; +re2c:define:YYSETSTATE@state = #; re2c:define:YYSETSTATE = "s->state = #;"; re2c:define:YYGETSTATE = "s->state"; re2c:define:YYGETSTATE:naked = 1; diff --git a/re2c/test/condition_09.cbif.re b/re2c/test/condition_09.cbif.re index 5f93a6a2..2480b934 100755 --- a/re2c/test/condition_09.cbif.re +++ b/re2c/test/condition_09.cbif.re @@ -69,10 +69,10 @@ re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; -re2c:define:YYFILL:len = #; +re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked = 1; re2c:define:YYFILL = "if(fill(s, #) >= 0) break;"; -re2c:define:YYSETSTATE:state = #; +re2c:define:YYSETSTATE@state = #; re2c:define:YYSETSTATE = "s->state = #;"; re2c:define:YYGETSTATE = "s->state"; re2c:define:YYGETSTATE:naked = 1; diff --git a/re2c/test/condition_09.cgif.re b/re2c/test/condition_09.cgif.re index 5f93a6a2..2480b934 100755 --- a/re2c/test/condition_09.cgif.re +++ b/re2c/test/condition_09.cgif.re @@ -69,10 +69,10 @@ re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; -re2c:define:YYFILL:len = #; +re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked = 1; re2c:define:YYFILL = "if(fill(s, #) >= 0) break;"; -re2c:define:YYSETSTATE:state = #; +re2c:define:YYSETSTATE@state = #; re2c:define:YYSETSTATE = "s->state = #;"; re2c:define:YYGETSTATE = "s->state"; re2c:define:YYGETSTATE:naked = 1; -- 2.40.0