// compare configurations tag by tag
// (tags with greater numbers have lower priority)
- for (size_t t = tagpool.ntags; t --> 0;) {
+ for (size_t t = 0; t < tagpool.ntags; ++t) {
// lookahead tags gathered by epsilon-closure
x = t1[t]; y = t2[t];
--- /dev/null
+/* Generated by re2c */
+// 'x' dominates 'y'
+
+{
+ YYCTYPE yych;
+ yyt2 = NULL;
+ yyt1 = YYCURSOR;
+ x = yyt1;
+ y = yyt2;
+ {}
+}
+
+re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string]
--- /dev/null
+// 'x' dominates 'y'
+/*!re2c
+
+@x | @y {}
+
+*/
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
- yyt1 = NULL;
- yyt2 = YYCURSOR;
switch (yych) {
- case 'a': goto yy3;
- case 'b': goto yy5;
- default: goto yy2;
+ case 'a':
+ yyt2 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
}
yy2:
- p = yyt1;
- q = yyt2;
+ p = yyt2;
+ q = yyt1;
{}
yy3:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
+yy4:
switch (yych) {
case 'a': goto yy3;
default: goto yy2;
}
yy5:
yych = *(YYMARKER = ++YYCURSOR);
+ yyt1 = NULL;
switch (yych) {
- case 'a':
- yyt3 = NULL;
- goto yy6;
- case 'b':
- yyt3 = NULL;
- goto yy7;
- default:
- yyt1 = yyt2;
- yyt2 = NULL;
- goto yy2;
+ case 'b': goto yy6;
+ default: goto yy4;
}
yy6:
yych = *++YYCURSOR;
switch (yych) {
- case 'a':
- yyt1 = yyt2;
- yyt2 = yyt3;
- goto yy3;
- default: goto yy2;
+ case 'a': goto yy8;
+ default: goto yy7;
}
yy7:
- yych = *++YYCURSOR;
- switch (yych) {
- case 'a': goto yy9;
- default: goto yy8;
- }
-yy8:
YYCURSOR = YYMARKER;
- yyt1 = yyt2;
- yyt2 = NULL;
+ yyt1 = NULL;
goto yy2;
-yy9:
+yy8:
++YYCURSOR;
- yyt1 = yyt2;
- yyt2 = yyt3;
goto yy2;
}