Up

module Lr1

: sig
#
type node
#
module Node : Set.OrderedType with type t = node
#
module NodeSet : Set.S with type elt = node
#
module NodeMap : Map.S with type key = node
#
module ImperativeNodeMap : Fix.IMPERATIVE_MAPS with type key = node
#
val entry : node Grammar.ProductionMap.t
#
val fold_entry : (Grammar.Production.index -> node -> Grammar.Nonterminal.t -> Stretch.ocamltype -> 'a -> 'a) -> 'a -> 'a
#
val n : int
#
val number : node -> int
#
val state : node -> Lr0.lr1state
#
val start2item : node -> Item.t
#
val incoming_symbol : node -> Grammar.Symbol.t option
#
val predecessors : node -> node list
#
val transitions : node -> node Grammar.SymbolMap.t
#
val reductions : node -> Grammar.Production.index list Grammar.TerminalMap.t
#
val forbid_default_reduction : node -> bool
#
val acceptable_tokens : node -> Grammar.TerminalSet.t
#
val fold : ('a -> node -> 'a) -> 'a -> 'a
#
val iter : (node -> unit) -> unit
#
val map : (node -> 'a) -> 'a list
#
val foldx : ('a -> node -> 'a) -> 'a -> 'a
#
val iterx : (node -> unit) -> unit
#
val bfs : (bool -> node -> Grammar.Symbol.t -> node -> unit) -> unit
#
val targets : ('a -> node list -> node -> 'a) -> 'a -> Grammar.Symbol.t -> 'a
#
val conflicts : (Grammar.TerminalSet.t -> node -> unit) -> unit
#
val reverse_dfs : node -> node -> bool
#
val default_conflict_resolution : unit -> unit
end