Crate lip

source ·
Expand description

Lip Parsing Library

Lip provides powerful parser combinators for you to create reusable and flexible parsers.

Macros

  • Parse one of many things.
  • A parser that succeeds without chomping any characters.

Structs

Enums

Traits

Functions

  • Chomp one grapheme if it passes the test.
  • Chomp one character if it passes the test.
  • Chomp zero or more graphemes if they pass the test.
  • Chomp zero or more characters if they pass the test.
  • Chomp one or more graphemes if they pass the test.
  • Chomp one or more characters if they pass the test.
  • Pretty print the error.
  • Parses a floating point number, excluding the sign in front.
  • Parse an indentation specified the number of spaces.
  • Parse a given number of indentations specified the number of spaces.
  • Parses a decimal integer, excluding the sign in front.
  • Parse a line comment started with comment_symbol.
  • Record the beginning and ending location of the thing being parsed.
  • Parsers zero or more newline characters, each with indentations in front.
  • Parsers one or more newline characters, each with indentations in front.
  • Parse a newline that maybe preceeded by a comment started with comment_symbol.
  • Run the parser one or more times and combine each output into a vector of outputs.
  • Run the parser one or more times until an end delimiter (or end of input) and combine each output into a vector of outputs.
  • Optionally parse something.
  • Optionally parse something. Returns supplied default value if parse failed.
  • Indicate that a parser has reached a dead end.
  • Repeat a parser n times
  • Parse a sequence like lists or code blocks.
  • Parse zero or more space characters.
  • Parse one or more space characters.
  • Take the chomped string from a bunch of chompers.
  • Parse a given token string.
  • Parse a variable.
  • Run the parser zero or more times and combine each output into a vector of outputs.
  • Run the parser zero or more times until an end delimiter (or end of input) and combine each output into a vector of outputs.

Type Definitions