Commit cba1eba2 authored by POTTIER Francois's avatar POTTIER Francois

Comment and TODO item.

parent 3609c13c
* Clean up Lr1.incoming_symbol by going through Lr0.
* Possibly re-implement the function [symbol] using a packed
int array (going through [terminal] or [nonterminal] later).
Also, go through lr0 core first.
* Generate default printers for terminal and nonterminal.
Define printers for productions and items, parameterized
......@@ -142,7 +142,7 @@ let rec explore (symbol : Symbol.t option) (state : Item.Set.t) : node =
(* Find out whether this state was already explored. *)
Hashtbl.find map state in
Hashtbl.find map state
with Not_found ->
(* If not, create a new node. *)
......@@ -845,6 +845,12 @@ let conflicts f =
) conflict_nodes
let incoming_symbol node =
(* Instead of reading [node.incoming_symbol], we could return
[Lr0.incoming_symbol (Lr0.core node.state)].
We could then get rid of the field [node.incoming_symbol].
However, this field is also used in the construction of the
table [incoming], so we would have to change the code that
builds this table. TEMPORARY do it! *)
let predecessors node =
Markdown is supported
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