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}