package herdtools7

  1. Overview
  2. Docs
module RL = RepeatableLexer
type token_pos = Parser0.token * Stdlib.Lexing.position * Stdlib.Lexing.position
type lexer_state = Parser0.token RL.state
type 'a result = 'a Error.result
val _dbg : bool
val toks : Parser0.token -> string
val is_eof : Parser0.token -> bool
val _max_lines : (string, Stdlib.Lexing.position) Stdlib.Hashtbl.t
val list_first : ('a -> 'b result) -> 'a list -> 'b result
val try_in_order : (lexer_state -> Parser0.token -> AST.t) -> Parser0.token RL.state -> Parser0.token list -> AST.t
val loop : Parser0.token RL.state -> (Stdlib.Lexing.position * AST.position) -> AST.t I.checkpoint -> AST.t

Main loop of the interpreter. Inspired by menhir documentation.

val continue : AST.t I.checkpoint -> (Stdlib.Lexing.position * Stdlib.Lexing.position) -> lexer_state -> Parser0.token -> AST.t

Continuation for try_in_order

val parse_repeatable : (Stdlib.Lexing.position -> AST.t I.checkpoint) -> Parser0.token RL.state -> Stdlib.Lexing.lexbuf -> AST.t

Alternative entry-point for this module. This one take directly a repeatableLexer.

val ast_chunk : Stdlib.Lexing.lexbuf -> AST.t

The main entry-point for this module. Should be usable as a drop-in replacement for Parser0.ast.

val as_chunks : bool
val ast : (Stdlib.Lexing.lexbuf -> Parser0.token) -> Stdlib.Lexing.lexbuf -> AST.t
val opn : (Stdlib.Lexing.lexbuf -> Parser0.token) -> Stdlib.Lexing.lexbuf -> AST.t
OCaml

Innovation. Community. Security.