1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
use crate::syntax_error::SyntaxError;
use self::{
ast::{Expression, AST},
tokenizer::Tokenizer,
};
pub mod ast;
pub mod span;
pub mod tokenizer;
/// Parse source
pub fn parse<A: ToString>(payload: A) -> Result<Expression, SyntaxError> {
let tokens = Tokenizer::parse(payload.to_string())?;
Ok(AST::parse(tokens)?)
}