Skip to main content

formualizer_parse/
lib.rs

1#![cfg_attr(target_os = "emscripten", feature(let_chains))]
2// See formualizer-common/lib.rs for rationale: the Pyodide nightly predates
3// let-chain stabilization, so nested `if let ... { if cond { ... } }` is
4// deliberate here; silence clippy's collapse suggestion crate-wide.
5#![allow(clippy::collapsible_if)]
6
7mod hasher;
8pub mod parser;
9pub mod pretty;
10mod structured_ref;
11mod tests;
12pub mod tokenizer;
13pub mod types;
14
15pub use parser::{
16    ASTNode, ASTNodeType, parse, parse_with_dialect, parse_with_dialect_and_volatility_classifier,
17    parse_with_volatility_classifier,
18};
19pub use pretty::{canonical_formula, pretty_parse_render, pretty_print};
20pub use tokenizer::{
21    RecoveryAction, Token, TokenDiagnostic, TokenSpan, TokenStream, TokenSubType, TokenType,
22    TokenView, Tokenizer, TokenizerError,
23};
24pub use types::{FormulaDialect, ParsingError};
25
26// Re-export common types
27pub use formualizer_common::{ArgKind, ExcelError, ExcelErrorKind, LiteralValue};