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/fix/Fix/Numbering/Make/index.html

Module Numbering.MakeSource

The functor Make requires an implementation of maps for the type M.key and offers a two-phase numbering facility. The function encode is backed by a map, therefore runs in logarithmic time or constant time, depending on the type of map that is used. The function decode is backed by an array of size n, therefore runs in constant time.

Parameters

module M : sig ... end

Signature

Sourcetype t = M.key

The type t of values of interest.

Sourceval encode : t -> int

encode maps a value of type t to a unique integer code. If applied twice to the same value, encode returns the same code; if applied to a value that has never been encountered, it returns a fresh code.

Sourceval current : unit -> int

current() returns the next available code, which is also the number of values that have been encoded so far.

Sourceval has_been_encoded : t -> bool

has_been_encoded x determines whether the value x has been encoded already.

Sourcemodule Done () : sig ... end

The functor Done ends the numbering process.