bomlamaal 0.1.0

Bømlamål as a programming language.
mod ast;
mod interpreter;
mod lexer;
mod parser;
mod token;
mod types;
mod value;

use std::env;
use std::fs;

use interpreter::Interpreter;
use lexer::Lexer;
use parser::Parser;

fn main() {
    // Get code from file.
    let args: Vec<String> = env::args().collect();

    if args.len() <= 1 {
        panic!(".bmla file not supplied");
    }

    let filename = &args[1];

    if !filename.ends_with(".bmla") {
        panic!("Must be .bmla file");
    }

    let contents = fs::read_to_string(filename).expect("Could not open .bmla code file.");

    let parser = Box::new(Lexer::new(contents));
    let parser = Parser::new(parser);
    let mut interpreter = Interpreter::new(parser);
    interpreter.interpret();
}