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. *)