Module Surface.Parser_stateSource

Our parser crosses the bounds of LR parsing for two features:

for these purposes we maintain a little bit of state and contained side-effects.

Sourcetype t
Sourceval with_state : (Sedlexing.lexbuf -> 'a) -> Sedlexing.lexbuf -> 'a

Mandatory wrapper around parser calls

Sourceval new_heading : (string * string option * bool * int) -> (Lexing.position * Lexing.position) -> Ast.law_heading
Sourceval get_current_heading : unit -> string list