From 60b10884575e5576022b905d65b10afbd37a1809 Mon Sep 17 00:00:00 2001 From: helly Date: Sun, 14 May 2006 13:43:06 +0000 Subject: [PATCH] - Add new tests - Update tests affected by threshold control --- test/config7a.g.c | 32 ++++++++++++++ test/config7a.g.re | 14 ++++++ test/config7b.g.c | 61 ++++++++++++++++++++++++++ test/config7b.g.re | 14 ++++++ test/input8.g.c | 10 ++--- test/parse_date.g.c | 101 +++++++++++++++---------------------------- test/parse_date.g.re | 2 +- 7 files changed, 162 insertions(+), 72 deletions(-) create mode 100755 test/config7a.g.c create mode 100755 test/config7a.g.re create mode 100755 test/config7b.g.c create mode 100755 test/config7b.g.re diff --git a/test/config7a.g.c b/test/config7a.g.c new file mode 100755 index 00000000..95a3e297 --- /dev/null +++ b/test/config7a.g.c @@ -0,0 +1,32 @@ +/* Generated by re2c */ +#line 1 "config7a.g.re" +{ + +#line 6 "" + { + YYCTYPE yych; + + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if(yych <= 'E') { + if(yych <= '@') goto yy4; + if(yych >= 'E') goto yy4; + } else { + if(yych <= 'G') goto yy2; + if(yych <= '`') goto yy4; + if(yych >= 'h') goto yy4; + } +yy2: + ++YYCURSOR; +#line 10 "config7a.g.re" + { return 1; } +#line 24 "" +yy4: + ++YYCURSOR; +#line 12 "config7a.g.re" + { return -1; } +#line 29 "" + } +} +#line 14 "config7a.g.re" + diff --git a/test/config7a.g.re b/test/config7a.g.re new file mode 100755 index 00000000..34a43eab --- /dev/null +++ b/test/config7a.g.re @@ -0,0 +1,14 @@ +/*!re2c + +re2c:cgoto:threshold = 8; + +a = [aA]; +b = [bB]; +c = [cC]; +d = [dD]; + +(a|b|c|d|"e"|'f'|[gG]) { return 1; } + +.|"\n" { return -1; } + +*/ diff --git a/test/config7b.g.c b/test/config7b.g.c new file mode 100755 index 00000000..ff64e44d --- /dev/null +++ b/test/config7b.g.c @@ -0,0 +1,61 @@ +/* Generated by re2c */ +#line 1 "config7b.g.re" +{ + +#line 6 "" + { + YYCTYPE yych; + + if(YYLIMIT == YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + { + static void *yytarget[256] = { + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy2, &&yy2, &&yy2, &&yy2, &&yy4, &&yy2, &&yy2, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy2, &&yy2, &&yy2, &&yy2, &&yy2, &&yy2, &&yy2, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, + &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4 + }; + goto *yytarget[yych]; + } +yy2: + ++YYCURSOR; +#line 10 "config7b.g.re" + { return 1; } +#line 53 "" +yy4: + ++YYCURSOR; +#line 12 "config7b.g.re" + { return -1; } +#line 58 "" + } +} +#line 14 "config7b.g.re" + diff --git a/test/config7b.g.re b/test/config7b.g.re new file mode 100755 index 00000000..860e8ce0 --- /dev/null +++ b/test/config7b.g.re @@ -0,0 +1,14 @@ +/*!re2c + +re2c:cgoto:threshold = 7; + +a = [aA]; +b = [bB]; +c = [cC]; +d = [dD]; + +(a|b|c|d|"e"|'f'|[gG]) { return 1; } + +.|"\n" { return -1; } + +*/ diff --git a/test/input8.g.c b/test/input8.g.c index 1dd6e591..f95ed88f 100755 --- a/test/input8.g.c +++ b/test/input8.g.c @@ -38,12 +38,10 @@ yy8: if(yych != 0x0A) goto yy11; yy9: YYCURSOR = YYMARKER; - { - static void *yytarget[2] = { - &&yy3, - &&yy7, - }; - goto *yytarget[yyaccept]; + if(yyaccept <= 0) { + goto yy3; + } else { + goto yy7; } yy10: yych = *++YYCURSOR; diff --git a/test/parse_date.g.c b/test/parse_date.g.c index 08307cb4..f998433a 100755 --- a/test/parse_date.g.c +++ b/test/parse_date.g.c @@ -5010,43 +5010,14 @@ yy377: if((YYLIMIT - YYCURSOR) < 14) YYFILL(14); yych = *YYCURSOR; yy378: - { - static void *yytarget[256] = { - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy377, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy377, &&yy363, &&yy377, &&yy363, - &&yy379, &&yy379, &&yy380, &&yy381, &&yy381, &&yy381, &&yy381, &&yy381, - &&yy381, &&yy381, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy377, &&yy363, &&yy363, &&yy363, - &&yy377, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy377, &&yy363, - &&yy363, &&yy363, &&yy377, &&yy377, &&yy377, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, - &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363, &&yy363 - }; - goto *yytarget[yych]; + if(yybm[0+yych] & 128) { + goto yy377; } + if(yych <= '/') goto yy363; + if(yych <= '1') goto yy379; + if(yych <= '2') goto yy380; + if(yych <= '9') goto yy381; + goto yy363; yy379: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); @@ -5129,7 +5100,7 @@ yy385: TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } -#line 5133 "" +#line 5104 "" yy386: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); @@ -5423,7 +5394,7 @@ yy420: TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } -#line 5427 "" +#line 5398 "" yy421: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); @@ -5788,7 +5759,7 @@ yy446: TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } -#line 5792 "" +#line 5763 "" yy447: yych = *++YYCURSOR; if(yych <= '/') goto yy446; @@ -7112,7 +7083,7 @@ yy526: TIMELIB_DEINIT; return TIMELIB_AGO; } -#line 7116 "" +#line 7087 "" yy527: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); @@ -9083,7 +9054,7 @@ yy620: TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 9087 "" +#line 9058 "" yy621: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); @@ -9194,7 +9165,7 @@ yy631: TIMELIB_DEINIT; return TIMELIB_TIME12; } -#line 9198 "" +#line 9169 "" yy632: yych = *++YYCURSOR; goto yy631; @@ -9231,7 +9202,7 @@ yy634: TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } -#line 9235 "" +#line 9206 "" yy635: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); @@ -9433,7 +9404,7 @@ yy660: TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } -#line 9437 "" +#line 9408 "" yy661: yych = *++YYCURSOR; if(yych == 'M') goto yy662; @@ -9958,7 +9929,7 @@ yy729: TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } -#line 9962 "" +#line 9933 "" yy730: yych = *++YYCURSOR; if(yych <= '/') goto yy729; @@ -10486,7 +10457,7 @@ yy775: TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 10490 "" +#line 10461 "" yy776: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); @@ -10568,7 +10539,7 @@ yy784: TIMELIB_DEINIT; return TIMELIB_AMERICAN; } -#line 10572 "" +#line 10543 "" yy785: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); @@ -10771,7 +10742,7 @@ yy817: TIMELIB_DEINIT; return TIMELIB_CLF; } -#line 10775 "" +#line 10746 "" yy818: yych = *++YYCURSOR; if(yych <= '5') { @@ -11130,7 +11101,7 @@ yy867: TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } -#line 11134 "" +#line 11105 "" yy869: yych = *++YYCURSOR; if(yych == 'V') goto yy862; @@ -11254,7 +11225,7 @@ yy880: TIMELIB_DEINIT; return TIMELIB_CLF; } -#line 11258 "" +#line 11229 "" yy881: yych = *++YYCURSOR; { @@ -11413,7 +11384,7 @@ yy889: TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } -#line 11417 "" +#line 11388 "" yy890: yych = *++YYCURSOR; if(yych == 'I') goto yy1021; @@ -11623,7 +11594,7 @@ yy910: TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } -#line 11627 "" +#line 11598 "" yy911: ++YYCURSOR; #line 1200 "parse_date.g.re" @@ -11644,7 +11615,7 @@ yy911: TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } -#line 11648 "" +#line 11619 "" yy913: yych = *++YYCURSOR; if(yych <= '/') goto yy57; @@ -11709,7 +11680,7 @@ yy916: TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } -#line 11713 "" +#line 11684 "" yy917: yych = *++YYCURSOR; if(yych <= '/') goto yy57; @@ -11814,7 +11785,7 @@ yy937: TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } -#line 11818 "" +#line 11789 "" yy938: yych = *++YYCURSOR; if(yych <= '2') { @@ -11997,7 +11968,7 @@ yy943: TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } -#line 12001 "" +#line 11972 "" yy944: yych = *++YYCURSOR; if(yych <= 'H') { @@ -12558,7 +12529,7 @@ yy1043: TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 12562 "" +#line 12533 "" yy1044: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); @@ -13513,7 +13484,7 @@ yy1146: TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } -#line 13517 "" +#line 13488 "" yy1147: yych = *++YYCURSOR; if(yych <= '/') goto yy57; @@ -13607,7 +13578,7 @@ yy1154: TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } -#line 13611 "" +#line 13582 "" yy1155: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); @@ -14038,7 +14009,7 @@ yy1179: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 14042 "" +#line 14013 "" yy1180: yych = *++YYCURSOR; if(yych <= 'N') { @@ -14303,7 +14274,7 @@ yy1200: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 14307 "" +#line 14278 "" yy1201: yych = *++YYCURSOR; if(yych <= 'X') { @@ -14325,7 +14296,7 @@ yy1203: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 14329 "" +#line 14300 "" yy1204: yych = *++YYCURSOR; if(yych <= 'R') { @@ -15661,7 +15632,7 @@ yy1279: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 15665 "" +#line 15636 "" yy1280: yych = *++YYCURSOR; if(yych <= 'N') { @@ -15762,7 +15733,7 @@ yy1287: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 15766 "" +#line 15737 "" yy1288: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); @@ -16155,7 +16126,7 @@ yy1310: TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 16159 "" +#line 16130 "" yy1311: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); diff --git a/test/parse_date.g.re b/test/parse_date.g.re index 6eca1c63..997ae5a1 100755 --- a/test/parse_date.g.re +++ b/test/parse_date.g.re @@ -734,8 +734,8 @@ std: s->tok = cursor; s->len = 0; /*!re2c +re2c:cgoto:threshold = 16; any = [\000-\377]; - space = [ ]+; frac = "."[0-9]+; -- 2.40.0