Fixed backtracking in deriving-input-data-from-DFA algorithm.
}
}
break;
- case Action::MOVE:
- if (!s->generated)
- {
- s->generated = true;
- generate_data (s->go.span[0].to, s->go.span[0].is_default, xs, ys);
- }
- break;
case Action::MATCH:
case Action::ENTER:
case Action::INITIAL:
case Action::SAVE:
+ case Action::MOVE:
if (!s->generated)
{
s->generated = true;
for (uint j = 0; j < xs.size (); ++j)
{
std::vector<uint> z (xs[j]);
- z.push_back (s->go.span[i].ub - 1);
+ if (s->go.span[i].to->action->type != Action::MOVE)
+ {
+ z.push_back (s->go.span[i].ub - 1);
+ }
zs.push_back (z);
}
generate_data (s->go.span[i].to, s->go.span[i].is_default, zs, ys);
}
+ s->generated = false;
}
break;
}