-
Notifications
You must be signed in to change notification settings - Fork 196
Closed
Description
re2c parses ab* as (ab)*, while it should be a(b)*:
$ echo '/*!re2c ab* {} */' | re2c -Fi -
/* Generated by re2c 1.0.3 on Wed Jan 16 23:12:56 2019 */
{
YYCTYPE yych;
goto yy0;
yy1:
++YYCURSOR;
yy0:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *(YYMARKER = YYCURSOR);
switch (yych) {
case 'a': goto yy3;
default: goto yy2;
}
yy2:
{}
yy3:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case 'b': goto yy1;
default: goto yy4;
}
yy4:
YYCURSOR = YYMARKER;
goto yy2;
}
$ echo '/*!re2c a(b)* {} */' | re2c -Fi -
/* Generated by re2c 1.0.3 on Wed Jan 16 23:13:24 2019 */
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case 'a': goto yy3;
default: goto yy2;
}
yy2:
yy3:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case 'b': goto yy3;
default: goto yy5;
}
yy5:
{}
}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels