Skip to content

Parser

[Source]

trait box Parser

Public Functions

parse

[Source]

fun box parse(
  source: Source val,
  offset: USize val = 0,
  tree: Bool val = true,
  hidden: Parser box = reference)
: (USize val , (AST val | Token val | NotPresent val | 
    Skipped val | Lex val | Parser box))

Parameters

Returns


error_msg

[Source]

fun box error_msg()
: String val

Returns


skip_hidden

[Source]

Return a new start location, skipping over hidden tokens.

fun box skip_hidden(
  source: Source val,
  offset: USize val,
  hidden: Parser box)
: USize val

Parameters

Returns


result

[Source]

Once a terminal parser has an offset and length, it should call result to return either a token (if a tree is requested) or a new lexical position.

fun box result(
  source: Source val,
  offset: USize val,
  from: USize val,
  length: USize val,
  tree: Bool val,
  l: Label val = reference)
: (USize val , (AST val | Token val | NotPresent val | 
    Skipped val | Lex val | Parser box))

Parameters

Returns


mul

[Source]

fun box mul(
  that: Parser box)
: Sequence ref

Parameters

Returns


div

[Source]

fun box div(
  that: Parser box)
: Choice ref

Parameters

Returns


neg

[Source]

fun box neg()
: Skip ref

Returns


opt

[Source]

fun box opt()
: Option ref

Returns


many

[Source]

fun box many(
  sep: Parser box = reference)
: Many ref

Parameters

Returns


many1

[Source]

fun box many1(
  sep: Parser box = reference)
: Many ref

Parameters

Returns


op_not

[Source]

fun box op_not()
: Not ref

Returns


op_and

[Source]

fun box op_and()
: Not ref

Returns


hide

[Source]

fun box hide(
  that: Parser box)
: Hidden ref

Parameters

Returns


term

[Source]

fun box term(
  l: Label val = reference)
: Terminal ref

Parameters

  • l: Label val = reference

Returns


eof

[Source]

fun box eof()
: EndOfFile ref

Returns