Crate lip[][src]

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

Box Parser trait so its size is decidable in compile time.

Add location information to any type.

Records the location of a character within the source string.

Enums

Records the result of the parser.

What’s the deal with trailing commas? Are they Forbidden? Are they Optional? Are they Mandatory?

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.

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.