Coccinelle release 1.0.0-rc13
[bpt/coccinelle.git] / bundles / menhirLib / menhir-20120123 / src / lookahead.mli
1 (**************************************************************************)
2 (* *)
3 (* Menhir *)
4 (* *)
5 (* François Pottier, INRIA Rocquencourt *)
6 (* Yann Régis-Gianas, PPS, Université Paris Diderot *)
7 (* *)
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. *)
12 (* *)
13 (**************************************************************************)
14
15 (* These are the operations required of lookahead sets during
16 a closure computation. This signature is exploited by the
17 functor [Item.Closure]. *)
18
19 module type S = sig
20
21 (* The type of lookahead sets. *)
22 type t
23
24 (* The empty lookahead set. Redundant with the following, but
25 convenient. *)
26 val empty: t
27
28 (* A concrete, constant set of terminal symbols. *)
29 val constant: Grammar.TerminalSet.t -> t
30
31 (* [union s1 s2] returns the union of [s1] and [s2]. *)
32 val union: t -> t -> t
33
34 end
35