Function wcal::parser::top_down_parser::parse[][src]

pub fn parse(tokens: Vec<Token>) -> Result<AST, String>

Parse tokens to AST.

Example

use wcal::lexer;
use wcal::parser::top_down_parser::parse;
use wcal::parser::ast::*;

let tokens = lexer::lexer("12+3").unwrap();
let ast = parse(tokens).unwrap();
assert_eq!(ast, AST{root: BinOp::new(Number::new(12), Number::new(3), lexer::Token::Plus)});