1 (**************************************************************************)
5 (* François Pottier, INRIA Rocquencourt *)
6 (* Yann Régis-Gianas, PPS, Université Paris Diderot *)
8 (* Copyright 2005-2008 Institut National de Recherche en Informatique *)
9 (* et en Automatique. All rights reserved. This file is distributed *)
10 (* under the terms of the Q Public License version 1.0, with the change *)
11 (* described in file LICENSE. *)
13 (**************************************************************************)
19 (* A restricted set of tokens of interest. *)
21 val tokens
: TerminalSet.t
23 (* A state of the (merged) LR(1) automaton that we're trying to
30 (* What we are after is a path, in the canonical LR(1) automaton,
31 that leads from some entry node to a node [N] such that (i)
32 [N] has a conflict involving one of the tokens of interest
33 and (ii) [N] corresponds to the goal node, that is, the path
34 that leads to [N] in the canonical LR(1) automaton leads to
35 the goal node in the merged LR(1) automaton. *)
39 val path
: Symbol.t array
41 val goal
: Lr0.concretelr1state
43 (* An (arbitrarily chosen) conflict token in the goal state. *)