efx_core/parser/
mod.rs

1pub use crate::parser::error::ParseError;
2pub use crate::parser::nodes::{Node, Element, Text, Interpolation, Attr};
3pub use crate::parser::parser::Parser;
4
5pub mod error;
6mod span_range;
7pub mod nodes;
8mod tok;
9mod lexer;
10pub mod parser;
11
12/// Top-level utility: parse DSL source string into AST
13pub fn parse_str(src: &str) -> PResult<Vec<Node>> {
14    let mut p = Parser::new(src);
15    p.parse_nodes()
16}
17
18pub type PResult<T> = Result<T, ParseError>;