package lrgrep

  1. Overview
  2. Docs
Detailed error messages for Menhir-generated parsers

Install

dune-project
 Dependency

Authors

Maintainers

Sources

lrgrep-0.9.tbz
sha256=e53de12e4c5cbe6bca00643593266b4f9fa2e3f6a138195eeff7a4329f5c1c75
sha512=7fd7c4d11506fea7cc11c9bbf5aea9142d905643553c0c90e1bb16b794106b0c14a266acf89ae91b6929008dc0ba6515f788642873e2e4ba6c3d49bd45d25127

doc/kernel/Kernel/Coverage/Enum/index.html

Module Coverage.EnumSource

Sourcetype ('n, 'term) _graph = {
  1. domain : 'n Fix.Indexing.cardinal;
  2. predecessors : 'n Fix.Indexing.index -> ('n Fix.Indexing.index * int * 'term Utils.Misc.indexset) list;
  3. unaccepted : 'n Fix.Indexing.index -> 'term Utils.Misc.indexset;
}

Augments the deterministic graph with unaccepted lookahead tracking. For each node, computes which terminal symbols have not been accepted by any applicable reduction. Sink nodes with non-empty unaccepted sets represent coverage gaps. Predecessor links enable path reconstruction.

Sourceval prepare : 'g Info.grammar -> ('g, 'lrc, 'n) Andor._graph -> ('g, 'lrc, 'n, 'm) Deter._graph -> ('lrc Fix.Indexing.index -> int * 'lrc Fix.Indexing.index list) -> ('m, 'g Info.terminal) _graph * ('m Fix.Indexing.index list * 'g Info.terminal Utils.Misc.indexset) list array

Build the enumeration graph and compute maximal sink groups. Propagates unaccepted lookaheads from initial states through the deterministic graph, subtracting each node's accept set along edges. Returns the graph with predecessor/unaccepted accessors, plus an array of sink groups indexed by stack prefix length.