tan_analysis/parsing.rs
1use tan::{error::Error, expr::Expr, lexer::Lexer, parser::Parser};
2
3// #todo #temp This is a temp helper method.
4pub fn parse_string_for_analysis(input: impl AsRef<str>) -> Result<Vec<Expr>, Vec<Error>> {
5 let input = input.as_ref();
6
7 let mut lexer = Lexer::new(input);
8 let tokens = lexer.lex()?;
9
10 let mut parser = Parser::for_analysis(&tokens);
11 let exprs = parser.parse()?;
12
13 Ok(exprs)
14}