Mentions légales du service

Skip to content

LRijkstraFast: ignore transitions that became unreachable

BOUR Frederic requested to merge fbour/menhir:lrijkstra-unreachable-goto into master

This fixes issue #64 (closed): Fatal error: exception File "src/LRijkstraFast.ml", line 892, characters 10-16: Assertion failed

After conflict resolution, a goto transition can become impossible to reach (it still exists in the automaton but all reductions that allowed to each it where removed).

In this case, LRijkstraFast does not even keep the unreachable class in the corresponding partition. Previously it would error in this case, now it just ignore the transition.

Here is a minimal grammar to reproduce the issue:

%token IDENT EOF
%start<unit> prog
%%
prog: decl* EOF { () }
decl: term { () }
term:
| IDENT { () }
| term term { () }

Merge request reports