Skip to main content

Module lexer

Module lexer 

Source
Expand description

Tokenizer for the lambda calculus surface syntax.

Source must be ASCII; any non-ASCII byte is reported as Error::UnexpectedChar. Lexing is purely functional: the entry point lex threads an immutable accumulator through a recursive scan, producing a Vec<Token> on success.

Structs§

Token
A token paired with its source position.

Enums§

TokenKind
The syntactic kind of a token.

Functions§

lex
Lex the entire source string into a vector of tokens.