pascal 0.1.8

A modern Pascal compiler with build/intepreter/package manager built with Rust
Documentation
use criterion::{black_box, criterion_group, criterion_main, Criterion};
use pascal::ast::{Block, Program, Stmt};
use pascal::interpreter::Interpreter;

fn bench_interpreter_empty(c: &mut Criterion) {
    let program = Program {
        name: "Bench".to_string(),
        uses: vec![],
        block: Block::with_statements(vec![Stmt::Empty]),
    };
    c.bench_function("interpreter_empty_program", |b| {
        b.iter(|| {
            let mut interp = Interpreter::new(false);
            black_box(interp.run_program(&program).unwrap());
        });
    });
}

criterion_group!(benches, bench_interpreter_empty);
criterion_main!(benches);