cl_parser/lib.rs
1//! Houses the Conlang [Parser].
2//!
3//! Conlang uses a pair of mutually recursive Pratt [Parse]rs
4//! to parse its [`Expr`ession][Expr] and [`Pat`tern][Pat] sub-languages.
5//!
6//! These parsers are implemented in [`expr`] and [`pat`], respectively.
7//!
8//! The [Parser] (or "parser context" if you're pedantic) keeps track of
9//! the last-peeked [Token], the [Span] information,
10//! and whether or not the last-consumed [Token] is allowed to stand in
11//! for a semicolon (`;`) in Conlang's `do` expressions.
12//!
13//! [Expr]: cl_ast::ast::Expr
14//! [Pat]: cl_ast::ast::Pat
15//! [Token]: cl_token::Token
16//! [Span]: struct@cl_structures::span::Span
17
18pub mod inliner;
19mod parser;
20pub use parser::*;