package catala
Module Surface.Parser_stateSource
Our parser crosses the bounds of LR parsing for two features:
- attaching breadcrumbs to every position (leading titles, subtitles, etc.)
- attaching attributes to the directly following node, notwithstanding the normal syntax hierarchy
for these purposes we maintain a little bit of state and contained side-effects.
Mandatory wrapper around parser calls
Source
val new_heading :
(string * string option * bool * int) ->
(Lexing.position * Lexing.position) ->
Ast.law_heading