package lrgrep

  1. Overview
  2. Docs
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/fix/Fix/module-type-SOLVER/index.html

Module type Fix.SOLVERSource

A solver is a higher-order function that computes the least solution of a monotone system of equations.

type variable

The type of variables.

type property

The type of properties.

type valuation = variable -> property

A valuation is a mapping of variables to properties.

type rhs = valuation -> property

A right-hand side, when supplied with a valuation that gives meaning to its free variables, evaluates to a property. More precisely, a right-hand side is a monotone function of valuations to properties.

type equations = variable -> rhs

A system of equations is a mapping of variables to right-hand sides.

val lfp : equations -> valuation

lfp eqs produces the least solution of the system of monotone equations eqs.

It is guaranteed that, for each variable v, the application eqs v is performed at most once (whereas the right-hand side produced by this application is, in general, evaluated multiple times). This guarantee can be used to perform costly pre-computation, or memory allocation, when eqs is applied to its first argument.

When lfp is applied to a system of equations eqs, it performs no actual computation. It produces a valuation, get, which represents the least solution of the system of equations. The actual fixed point computation takes place, on demand, when get is applied.