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 tests;
11pub mod tokenizer;
12pub mod types;
13
14pub use parser::{
15    ASTNode, ASTNodeType, parse, parse_with_dialect, parse_with_dialect_and_volatility_classifier,
16    parse_with_volatility_classifier,
17};
18pub use pretty::{canonical_formula, pretty_parse_render, pretty_print};
19pub use tokenizer::{
20    RecoveryAction, Token, TokenDiagnostic, TokenSpan, TokenStream, TokenSubType, TokenType,
21    TokenView, Tokenizer, TokenizerError,
22};
23pub use types::{FormulaDialect, ParsingError};
24
25// Re-export common types
26pub use formualizer_common::{ArgKind, ExcelError, ExcelErrorKind, LiteralValue};