Skip to content
Snippets Groups Projects
main.rs 922 B
Newer Older
Carlos Valencia's avatar
Carlos Valencia committed
use std::fs;

mod parser;
use parser::parser::Parser;

mod combinators;

Carlos Valencia's avatar
Carlos Valencia committed
mod parser_impls;
use parser_impls::ints::{Int};
Carlos Valencia's avatar
Carlos Valencia committed
mod tests;
use tests::tests::{run_tests};
use tests::example_parser_tests::{run_example_parser_test};

mod examples;
use examples::example_programs::arithmetic::expression::Expr;

Carlos Valencia's avatar
Carlos Valencia committed
fn main() {
Carlos Valencia's avatar
Carlos Valencia committed

    run_tests();
    run_example_parser_test();
Carlos Valencia's avatar
Carlos Valencia committed

    let source = "src/examples/example_programs/arithmetic/example1.txt";
    let _file = fs::read_to_string(source).expect("File was not found or could not be read");
Carlos Valencia's avatar
Carlos Valencia committed

    let res = Expr.parse(_file.as_str());
    println!("{:#?}", res);
Carlos Valencia's avatar
Carlos Valencia committed

Carlos Valencia's avatar
Carlos Valencia committed
    // let mut count = 0;
    // let max = 100000;
Carlos Valencia's avatar
Carlos Valencia committed

Carlos Valencia's avatar
Carlos Valencia committed
    // loop {
    //     if count == max {break};
    //     println!("{:#?}", Expr.parse(format!("221 + {} + 8 - 11077770", count).as_str()));
Carlos Valencia's avatar
Carlos Valencia committed
    //     count += 1
Carlos Valencia's avatar
Carlos Valencia committed

Carlos Valencia's avatar
Carlos Valencia committed
    // }

    println!("{:#?}", Expr.parse(format!("221 - {} + 8 + 11077770", 4).as_str()));