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}