use lexer::{Lexer, Token};
use parser::{Parser, AST};
pub mod lexer;
pub mod parser;
pub mod macros;
pub mod error;
pub fn run_lexer(input: String) -> Lexer {
let mut lexer = Lexer::new(input);
while lexer.next_token() {}
lexer
}
pub fn run_parser(text:String, input: Vec<Token>) -> (AST, Parser) {
let mut parser = Parser::new(text, input);
(parser.program(), parser)
}