package pacomb

  1. Overview
  2. Docs
type buf = Input.buffer

Position in a buffer is a Input.buffer together with an index Input.pos.

type idx = Input.idx
type blank = buf -> idx -> buf * idx

A blank function is just a function progressing in a buffer

type t = blank

Functions managing blanks

val none : blank

Use when you have no blank chars

val from_charset : Charset.t -> blank

Blank from a charset

val from_terminal : 'a Lex.t -> blank

Blank from a terminal

val line_comments : ?cs:Charset.t -> string -> blank

line_comments s Blank with standard spaces and line starting with s. cs defaults to Charset.from_string " \t\n\r"

type layout_config = {
  1. old_blanks_before : bool;
    (*

    Ignoring blanks with the old blank function before parsing?

    *)
  2. new_blanks_before : bool;
    (*

    Then ignore blanks with the new blank function (before parsing)?

    *)
  3. new_blanks_after : bool;
    (*

    Use the new blank function one last time before resuming old layout?

    *)
  4. old_blanks_after : bool;
    (*

    Use then the old blank function one last time as well?

    *)
}
val default_layout_config : layout_config

Default configuration, parsing with the old blanks before (i.e., the field old_blanks_before is true), and the new blanks after (i.e., the field old_blanks_after is also true). The other two fields are false.