Module type IncrementalEngine.SYMBOLS

This signature is a fragment of the inspection API that is made available to the user when --inspection is used. This fragment contains type definitions for symbols.

type 'a terminal

The type 'a terminal represents a terminal symbol. Its parameter 'a represents the type of the semantic values associated with this symbol. The concrete definitions of this type is generated.

type 'a nonterminal

The type 'a nonterminal represents a nonterminal symbol. Its parameter 'a represents the type of the semantic values associated with this symbol. The concrete definitions of this type is generated.

type 'a symbol =
  1. | T : 'a terminal -> 'a symbol
  2. | N : 'a nonterminal -> 'a symbol

The type 'a symbol represents a terminal or nonterminal symbol. It is the disjoint union of the types 'a terminal and 'a nonterminal.

type xsymbol =
  1. | X : 'a symbol -> xsymbol

The type xsymbol is an existentially quantified version of the type 'a symbol. This type is useful in situations where 'a is not statically known.