Commit c9ae71cd authored by POTTIER Francois's avatar POTTIER Francois
Browse files

Published [minimal_prod].

parent ccfd1bce
...@@ -1254,6 +1254,8 @@ module Analysis = struct ...@@ -1254,6 +1254,8 @@ module Analysis = struct
let follow = follow let follow = follow
let minimal_prod = MINIMAL.production
end end
(* ------------------------------------------------------------------------ *) (* ------------------------------------------------------------------------ *)
......
...@@ -382,7 +382,7 @@ module Analysis : sig ...@@ -382,7 +382,7 @@ module Analysis : sig
val first: Nonterminal.t -> TerminalSet.t val first: Nonterminal.t -> TerminalSet.t
(* [nullable_first_prod prod i] considers the suffix of the the production (* [nullable_first_prod prod i] considers the suffix of the production
[prod] defined by offset [i]. It returns its NULLABLE flag as well [prod] defined by offset [i]. It returns its NULLABLE flag as well
as its FIRST set. The offset [i] must be contained between [0] and as its FIRST set. The offset [i] must be contained between [0] and
[n], inclusive, where [n] is the length of production [prod]. *) [n], inclusive, where [n] is the length of production [prod]. *)
...@@ -401,6 +401,12 @@ module Analysis : sig ...@@ -401,6 +401,12 @@ module Analysis : sig
val follow: Nonterminal.t -> TerminalSet.t val follow: Nonterminal.t -> TerminalSet.t
(* [minimal_prod prod i] is the minimal length of a word generated
by by [prod/i], i.e., the suffix of production [prod] defined by
offset [i]. *)
val minimal_prod: Production.index -> int -> Terminal.t CompletedNatWitness.t
end end
(* ------------------------------------------------------------------------ *) (* ------------------------------------------------------------------------ *)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment