arrow-parser 0.0.2

Parser for the Arrow programming language
Documentation
use ast::Module;
use lex::Lexer;
use lifetime_analysis::LifetimeAnalyser;
use parse::Parser;
use symbol::Scope;
use symbol::ScopeType;

pub mod ast;
pub mod char;
pub mod error;
pub mod lex;
pub mod lifetime_analysis;
pub mod operator;
pub mod parse;
pub mod parse_expr;
pub mod parse_literal;
pub mod parse_module;
pub mod parse_operator;
pub mod parse_stmt;
pub mod source;
pub mod symbol;
pub mod token;

pub fn parse_module_source_code(src: &[u8]) -> Module {
  let module_scope = Scope::new(ScopeType::Module);
  let mut parser = Parser::new(Lexer::new(src), module_scope);
  let ast = parser.parse_module().unwrap();
  LifetimeAnalyser {}.analyse_lifetimes(&ast);
  ast
}