Skip to main content

obeli_sk_boa_parser/
lib.rs

1//! Boa's **`boa_parser`** crate is a parser targeting the latest [ECMAScript language specification][spec].
2//!
3//! # Crate Overview
4//!
5//! This crate contains implementations of a [`Lexer`] and a [`Parser`] for the **ECMAScript**
6//! language. The [lexical grammar][lex] and the [syntactic grammar][grammar] being targeted are
7//! fully defined in the specification. See the links provided for more information.
8//!
9//! [spec]: https://tc39.es/ecma262
10//! [lex]: https://tc39.es/ecma262/#sec-ecmascript-language-lexical-grammar
11//! [grammar]: https://tc39.es/ecma262/#sec-ecmascript-language-expressions
12#![doc = include_str!("../ABOUT.md")]
13#![doc(
14    html_logo_url = "https://raw.githubusercontent.com/boa-dev/boa/main/assets/logo_black.svg",
15    html_favicon_url = "https://raw.githubusercontent.com/boa-dev/boa/main/assets/logo_black.svg"
16)]
17#![cfg_attr(test, allow(clippy::needless_raw_string_hashes))] // Makes strings a bit more copy-pastable
18#![cfg_attr(not(test), forbid(clippy::unwrap_used))]
19#![allow(
20    clippy::module_name_repetitions,
21    clippy::too_many_lines,
22    clippy::cognitive_complexity,
23    clippy::let_unit_value,
24    clippy::redundant_pub_crate,
25    clippy::struct_field_names
26)]
27
28pub mod error;
29pub mod lexer;
30pub mod parser;
31pub mod source;
32
33pub use error::Error;
34pub use lexer::Lexer;
35pub use parser::Parser;
36pub use source::Source;