Kernel.RegexpSourceThis module implements the regular expressions used by LRGrep. It provides functions for creating, comparing, and deriving regular expressions and continuations, which appear during the derivation process. It is parameterized by the `Info` and `Redgraph` modules, which are used to provide information about the LR automaton and its (viable) reductions, respectively.
The Capture module defines types and functions for representing variables captured in regular expressions. It uses an index type to uniquely identify a capture in an expression.
Reductions represent pattern-match operations in regular expressions. Each reduction tracks which reduction targets to match, which captures to bind, and whether to prefer shortest or longest match.