Skip to main content

Crate presk_syntax

Crate presk_syntax 

Source
Expand description

Source map, spans, diagnostics, lexer, AST and parser for Presk.

Step 1 of the 0.1.0 plan (presk-specs/implementation/presk-plan-0.1.0.md). The syntax accepted is the one of presk-specs/examples/*.psk and of the specification chapter; where the two disagree or the grammar is only sketched, the choice is recorded in docs/spec-questions.md.

Re-exports§

pub use diag::Diagnostic;
pub use diag::Severity;
pub use parser::parse_file;
pub use parser::parse_type;
pub use source::FileId;
pub use source::SourceMap;
pub use source::Span;

Modules§

ast
Abstract syntax of one Presk source file. Dimension expressions are ordinary Exprs; their interpretation as linear forms belongs to presk-types.
diag
Diagnostics: a renderer-independent description of an error or warning, rendered with ariadne. Messages are phrased in the terms of the source.
lexer
Hand-written lexer.
parser
Recursive-descent parser with Pratt expressions.
source
Source files, byte spans and line/column lookup.
token
Tokens of the Presk surface syntax.