package menhir-secondary

  1. Overview
  2. Docs

This module offers a type of concrete syntax trees (CSTs), a type of disjunctive concrete syntax trees (DCSTs), and a resolution algorithm, which converts a DCST to a viable CST.

The disjunction nodes in DCSTs allow the user to express where parentheses or other disambiguation tokens may be inserted. Within this space, the resolution algorithm chooses a specific point: that is, it decides where to insert parentheses so as to produce a viable CST. A CST t is viable if the parser's round-trip property holds: grow (fringe t) = Some t.

module Make (A : sig ... end) : sig ... end

The functor Make must be applied to a description of the LR(1) automaton. Its input signature is a super-signature of the signature MenhirLib.EngineTypes.TABLE.

OCaml

Innovation. Community. Security.