aleparser/lib.rs
1use lalrpop_util::lalrpop_mod;
2use aleph_syntax_tree::syntax::AlephTree as at;
3
4lalrpop_mod!(pub grammar);
5
6/// Aleph parser
7/// #Arguments
8/// `source` - String to parse
9///
10/// # Return
11/// This function return an AlephTree
12pub fn parse(source: String) -> at {
13 let ast = grammar::StmtsParser::new().parse(&source);
14 match ast {
15 Ok(res) => res,
16 Err(e) => {
17 println!("Can't parse {:?}", e);
18 at::Unit
19 }
20 }
21}