package lrgrep
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Analyse the stack of a Menhir-generated LR parser using regular expressions
Install
dune-project
Dependency
Authors
Maintainers
Sources
lrgrep-0.3.tbz
sha256=84a1874d0c063da371e19c84243aac7c40bfcb9aaf204251e0eb0d1f077f2cde
sha512=5a16ff42a196fd741bc64a1bdd45b4dca0098633e73aa665829a44625ec15382891c3643fa210dbe3704336eab095d4024e093e37ae5313810f6754de6119d55
doc/lrgrep.interpreter/Lrgrep_interpreter/index.html
Module Lrgrep_interpreterSource
Source
type ('lr1, 'terminal, 'p) parser_output = {stack : ('lr1, 'p) with_position list;remainder : ('terminal, 'p) with_position Seq.node;
}Source
type 'g sentence = {entrypoint : ('g Kernel.Info.lr1 Fix.Indexing.index, Lexing.position) with_position option;symbols : ('g Kernel.Info.terminal Fix.Indexing.index, Lexing.position) with_position list;
}Source
val print_items :
'a Kernel__Info.grammar ->
int ->
string ->
'a Kernel.Info.Item.n Utils.IndexSet.t ->
unitSource
val print_lr1 :
'a Kernel__Info.grammar ->
'a Kernel.Info.Lr1.n Fix.Indexing.index ->
string optionSource
val print_stack :
'a Kernel__Info.grammar ->
'b config ->
is_goto:bool ->
'a Kernel.Info.Lr1.n Fix.Indexing.index list ->
unitSource
val filter_reductions :
'a Utils.IndexSet.t ->
('b, 'a Utils.IndexSet.t) Utils.IndexMap.t list ->
('b, 'a Utils.IndexSet.t) Utils.IndexMap.t listSource
val merge_reductions :
(('a, 'b Utils.IndexSet.t) Utils.IndexMap.t list
* ('a, 'b Utils.IndexSet.t) Utils.IndexMap.t list) ->
('a, 'b Utils.IndexSet.t) Utils.IndexMap.t listSource
val analyze_stack :
'a Kernel__Info.grammar ->
('a Kernel.Info.Lr1.n, 'a Kernel.Redgraph.reduction_closure)
Fix.Indexing.vector ->
'b config ->
stack:
('a Kernel.Info.Lr1.n Fix.Indexing.index
* Lexing.position
* Lexing.position)
list ->
remainder:'a Kernel.Info.Terminal.n Fix.Indexing.index list ->
unitSource
type 'g parser = {grammar : 'g Kernel.Info.grammar;table : ('g Kernel.Info.lr1 Fix.Indexing.index * 'g Kernel.Info.terminal Fix.Indexing.index, [ `Reduce of 'g Kernel.Info.production Fix.Indexing.index | `Reject | `Shift of 'g Kernel.Info.lr1 Fix.Indexing.index ]) Hashtbl.t;
}Source
val get_action :
'a parser ->
'a Kernel.Info.Lr1.n Fix.Indexing.index ->
'a Kernel.Info.terminal Fix.Indexing.index ->
[ `Reduce of 'a Kernel.Info.production Fix.Indexing.index
| `Reject
| `Shift of 'a Kernel.Info.lr1 Fix.Indexing.index ]Source
val parse_sentence :
'g parser ->
('g Kernel.Info.lr1 Fix.Indexing.index, 'p) with_position ->
('g Kernel.Info.terminal Fix.Indexing.index, 'p) with_position Seq.t ->
('g Kernel.Info.lr1 Fix.Indexing.index, 'p) with_position list
* ('g Kernel.Info.lr1 Fix.Indexing.index, 'p) with_position list
* ('g Kernel.Info.terminal Fix.Indexing.index, 'p) with_position Seq.t sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>