package lrgrep
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=e53de12e4c5cbe6bca00643593266b4f9fa2e3f6a138195eeff7a4329f5c1c75
sha512=7fd7c4d11506fea7cc11c9bbf5aea9142d905643553c0c90e1bb16b794106b0c14a266acf89ae91b6929008dc0ba6515f788642873e2e4ba6c3d49bd45d25127
doc/kernel/Kernel/Coverage/Extract/index.html
Module Coverage.ExtractSource
Extracts witness paths from coverage analysis graphs. Propagates rejectable lookaheads backward from sink nodes through predecessor links, identifying maximal nodes where user-reached goals intersect with unaccepted lookaheads.
val compute_maximal_prefixes :
graph:('n, 'term) Enum._graph ->
iter_sinks:(('n Fix.Indexing.index -> int -> unit) -> unit) ->
reached:('n Fix.Indexing.index -> 'goal Utils.Misc.indexset) ->
('n Fix.Indexing.index list * 'term Utils.IndexSet.t) list arrayCompute maximal prefixes: paths from sink nodes back to nodes where goals have been reached. Rejectable lookaheads are propagated backward through predecessors, intersected with each predecessor's unaccepted set. Results are grouped by propagation depth.
val compute_global_prefixes :
graph:('n, 'term) Enum._graph ->
maximals:('n Fix.Indexing.index list * 'term Utils.Misc.indexset) list array ->
reached:('n Fix.Indexing.index -> 'goal Utils.Misc.indexset) ->
('n Fix.Indexing.index list * 'term Utils.Misc.indexset) list arrayCompute global prefixes: propagate rejectable lookaheads from maximal nodes further backward, collecting all nodes where goals were reached. Unlike compute_maximal_prefixes, which stops at the first goal node, this continues propagation to find all goal intersections along each path. Results are grouped by propagation depth.