Crate earl_lang_syntax

Source
Expand description

A tokenizer and parser for the language Earl. The syntax of Earl resembles the syntax of Lisp or S-expressions. The main difference is that Earl does not define ordered pairs, i.e. (x . y), but only lists, e.g. the empty list (x y z). The design of multiline strings and nesting multiline comments is possibly unorthodox.

Structs§

ParseNodeList
A parse node list is a list of parse nodes.
ParsingError
Error information returned to the user if there’s a problem tokenizing or parsing the input.
Token
A token in Earl contains where it appears in the code and its type or ID.

Enums§

ErrorCode
Error codes we might receive when tokenizing and parsing.
ParseNode
A parse node is either a token or a list of parse nodes.
SyntaxError
Any kind of error that can pop up while tokenizing and parsing.
TokenId
Token IDs or token types.

Functions§

parse
Parses the code and returns a result of parse trees or a parsing error.
tokenize
Returns a tokenization result.