brain/
lib.rs

1mod instruction;
2pub mod compiler;
3pub mod machine;
4pub mod bytecode;
5
6pub use bytecode::{ByteCode, ByteCodeType};
7pub use compiler::Compiler;
8pub use machine::Machine;
9
10pub mod prelude {
11    pub use compiler::Compiler;
12    pub use machine::Machine;
13    pub use bytecode::ByteCode;
14    use std::io::{Read, Write};
15
16    pub fn execute<R: Read, W: Write>(code: &str, r: R, w: W) -> Result<(), String> {
17        let mut comp = Compiler::new(code);
18        let mut machine = Machine::new(comp.compile(), r, w);
19        machine.execute()
20    }
21}