cbvm/
lib.rs

1#![allow(
2    dead_code,
3    unused_imports,
4    unused_macros,
5    unused_variables,
6    unused_mut,
7    unused_parens,
8    unused_assignments,
9    unused_braces,
10    unused_import_braces
11)]
12pub mod builder;
13pub mod bytecode;
14pub mod reader;
15pub mod asm;
16use bytecode::{data::ByteData, ops::ArgType::*, ops::Operations::*, types::Types};
17pub mod engine;
18use builder::bytes::*;
19use engine::memory::{Heap, Stack};
20use reader::Reader;
21use std::str::from_utf8_unchecked;
22use std::time::Instant;
23use std::{env, string};
24
25pub fn read (path: &str) -> Vec<u8> {
26    let mut reader = Reader::new(path);
27    reader.read();
28    reader.group();
29    reader.bytes.into()
30}
31
32pub fn run(bytes: Vec<u8>) {
33    let mut engine = engine::Engine::new();
34    let start = Instant::now();
35    engine.run(bytes.into());
36    let duration = start.elapsed();
37    println!("\nTime elapsed in running VM is: {:?}", duration);
38}
39