nibble/pratt

Types

pub opaque type Config(a, tok, ctx)
pub opaque type Operator(a, tok, ctx)

Values

pub fn expression(
  one_of first: List(
    fn(Config(a, tok, ctx)) -> nibble.Parser(a, tok, ctx),
  ),
  and_then then: List(Operator(a, tok, ctx)),
  dropping spaces: nibble.Parser(Nil, tok, ctx),
) -> nibble.Parser(a, tok, ctx)
pub fn infix_left(
  precedence: Int,
  operator: nibble.Parser(Nil, tok, ctx),
  apply: fn(a, a) -> a,
) -> Operator(a, tok, ctx)
pub fn infix_right(
  precedence: Int,
  operator: nibble.Parser(Nil, tok, ctx),
  apply: fn(a, a) -> a,
) -> Operator(a, tok, ctx)
pub fn postfix(
  precedence: Int,
  operator: nibble.Parser(Nil, tok, ctx),
  apply: fn(a) -> a,
) -> Operator(a, tok, ctx)
pub fn prefix(
  precedence: Int,
  operator: nibble.Parser(Nil, tok, ctx),
  apply: fn(a) -> a,
) -> fn(Config(a, tok, ctx)) -> nibble.Parser(a, tok, ctx)
pub fn sub_expression(
  config: Config(a, tok, ctx),
  precedence: Int,
) -> nibble.Parser(a, tok, ctx)
Search Document