solar_parse/
lib.rs

1#![doc = include_str!("../README.md")]
2#![doc(
3    html_logo_url = "https://raw.githubusercontent.com/paradigmxyz/solar/main/assets/logo.png",
4    html_favicon_url = "https://raw.githubusercontent.com/paradigmxyz/solar/main/assets/favicon.ico"
5)]
6#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
7
8#[macro_use]
9extern crate tracing;
10
11use solar_interface::diagnostics::{DiagBuilder, ErrorGuaranteed};
12
13pub mod lexer;
14pub use lexer::{unescape, Cursor, Lexer};
15
16mod parser;
17pub use parser::Parser;
18
19// Convenience re-exports.
20pub use bumpalo;
21pub use solar_ast::{self as ast, token};
22pub use solar_interface as interface;
23
24/// Parser error type.
25pub type PErr<'a> = DiagBuilder<'a, ErrorGuaranteed>;
26
27/// Parser result type. This is a shorthand for `Result<T, PErr<'a>>`.
28pub type PResult<'a, T> = Result<T, PErr<'a>>;