Upgrade to edition 2021
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
[package]
|
||||
name = "rustijvm"
|
||||
version = "1.1.0"
|
||||
edition = "2021"
|
||||
authors = ["Jur van den Berg <Jurl.berg@gmail.com>"]
|
||||
|
||||
[dependencies]
|
||||
|
||||
@@ -10,7 +10,7 @@ use test::Bencher;
|
||||
fn run_bfi(file: &str) {
|
||||
let file = File::open(file).expect("Missing bf file");
|
||||
let rc = Arc::new(Mutex::new(Cursor::new(Vec::new())));
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/bonus/bfi.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/bonus/bfi.ijvm").unwrap();
|
||||
machine.set_output(rc);
|
||||
machine.set_input(Box::new(file));
|
||||
machine.run().unwrap();
|
||||
|
||||
@@ -8,7 +8,7 @@ use test::Bencher;
|
||||
|
||||
fn run_calc(input: &'static str) {
|
||||
let rc = Arc::new(Mutex::new(Cursor::new(Vec::new())));
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/SimpleCalc.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/SimpleCalc.ijvm").unwrap();
|
||||
machine.set_output(rc);
|
||||
machine.set_input(Box::new(input.as_bytes()));
|
||||
machine.run().unwrap();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
extern crate rustijvm;
|
||||
|
||||
use rustijvm::Disassembly;
|
||||
use rustijvm::disassembler::Disassembly;
|
||||
use std::env;
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use block::Block;
|
||||
use ops::{num_to_op, Operation};
|
||||
use Result;
|
||||
use crate::block::Block;
|
||||
use crate::ops::{num_to_op, Operation};
|
||||
use crate::Result;
|
||||
|
||||
pub trait BinReadable {
|
||||
fn get(&mut self) -> Result<u8>;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use std::ops;
|
||||
|
||||
use Result;
|
||||
use binread::BinReadable;
|
||||
use crate::Result;
|
||||
use crate::binread::BinReadable;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Block {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
use binread::{BinRead, BinReadable};
|
||||
use block::Block;
|
||||
use ijvmreader::IJVMReader;
|
||||
use machine::MAGIC_HEADER;
|
||||
use ops;
|
||||
use Result;
|
||||
use crate::binread::{BinRead, BinReadable};
|
||||
use crate::block::Block;
|
||||
use crate::ijvmreader::IJVMReader;
|
||||
use crate::machine::MAGIC_HEADER;
|
||||
use crate::ops;
|
||||
use crate::Result;
|
||||
|
||||
use std::clone::Clone;
|
||||
use std::collections::{HashMap, HashSet};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use stack::Stack;
|
||||
use Result;
|
||||
use value::Value;
|
||||
use crate::stack::Stack;
|
||||
use crate::Result;
|
||||
use crate::value::Value;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Frame {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use value::Value;
|
||||
use crate::value::Value;
|
||||
use std::rc::{Rc, Weak};
|
||||
use std::cell::RefCell;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use std::io::Read;
|
||||
use std::fs::File;
|
||||
use Result;
|
||||
use binread::BinReadable;
|
||||
use crate::Result;
|
||||
use crate::binread::BinReadable;
|
||||
|
||||
pub struct IJVMReader {
|
||||
pointer: usize,
|
||||
|
||||
@@ -22,7 +22,4 @@ pub mod heap;
|
||||
type Result<T> = ::std::result::Result<T, &'static str>;
|
||||
|
||||
pub mod machine;
|
||||
pub use machine::Machine;
|
||||
|
||||
pub mod disassembler;
|
||||
pub use disassembler::{Disassembler, Disassembly};
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
use std::io::{Read, Write};
|
||||
use std::sync::{Arc, Mutex};
|
||||
|
||||
use binread::{BinRead, BinReadable};
|
||||
use block::Block;
|
||||
use frame::Frame;
|
||||
use ijvmreader::IJVMReader;
|
||||
use ops::{num_to_op, Args, Operation};
|
||||
use pool::Pool;
|
||||
use stack::Stack;
|
||||
use Result;
|
||||
use crate::binread::{BinRead, BinReadable};
|
||||
use crate::block::Block;
|
||||
use crate::frame::Frame;
|
||||
use crate::ijvmreader::IJVMReader;
|
||||
use crate::ops::{num_to_op, Args, Operation};
|
||||
use crate::pool::Pool;
|
||||
use crate::stack::Stack;
|
||||
use crate::Result;
|
||||
|
||||
#[cfg(feature = "bonus.heap")]
|
||||
use heap::Heaps;
|
||||
use crate::heap::Heaps;
|
||||
#[cfg(feature = "bonus.network")]
|
||||
use netstack::NetStack;
|
||||
use crate::netstack::NetStack;
|
||||
use std::convert::TryInto;
|
||||
|
||||
pub const MAGIC_HEADER: u32 = 0x1DEA_DFAD;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use std::net::TcpStream;
|
||||
|
||||
use Result;
|
||||
use crate::Result;
|
||||
use std::io::{Read, Write};
|
||||
use std::net::TcpListener;
|
||||
|
||||
|
||||
12
src/ops.rs
12
src/ops.rs
@@ -1,12 +1,12 @@
|
||||
use binread::BinRead;
|
||||
use frame::Frame;
|
||||
use machine::Machine;
|
||||
use crate::binread::BinRead;
|
||||
use crate::frame::Frame;
|
||||
use crate::machine::Machine;
|
||||
use std::io::Read;
|
||||
use std::num::Wrapping;
|
||||
use Result;
|
||||
use value::Value;
|
||||
use crate::Result;
|
||||
use crate::value::Value;
|
||||
use std::convert::TryInto;
|
||||
use netstack::NetStack;
|
||||
use crate::netstack::NetStack;
|
||||
|
||||
pub type OpFunc = fn(&mut Machine) -> Result<()>;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use Result;
|
||||
use block::Block;
|
||||
use binread::{BinRead, BinReadable};
|
||||
use crate::Result;
|
||||
use crate::block::Block;
|
||||
use crate::binread::{BinRead, BinReadable};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Pool {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use Result;
|
||||
use value::Value;
|
||||
use crate::Result;
|
||||
use crate::value::Value;
|
||||
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use Result;
|
||||
use crate::Result;
|
||||
use std::convert::TryInto;
|
||||
use heap::Heap;
|
||||
use crate::heap::Heap;
|
||||
|
||||
#[derive(Debug, Clone, PartialEq)]
|
||||
pub enum Value {
|
||||
|
||||
@@ -2,7 +2,7 @@ extern crate rustijvm;
|
||||
|
||||
use std::io::{Seek, SeekFrom, Read};
|
||||
|
||||
fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
fn steps(machine: &mut rustijvm::machine::Machine, num: usize) {
|
||||
for _ in 0..num {
|
||||
machine.step().unwrap();
|
||||
}
|
||||
@@ -12,7 +12,7 @@ fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
fn advanced1() {
|
||||
let output = rustijvm::stubs::output_stub();
|
||||
let input = Box::new("A".as_bytes());
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task5/all_regular.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task5/all_regular.ijvm").unwrap();
|
||||
machine.set_input(input);
|
||||
machine.set_output(output.clone());
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
extern crate rustijvm;
|
||||
|
||||
fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
fn steps(machine: &mut rustijvm::machine::Machine, num: usize) {
|
||||
for _ in 0..num {
|
||||
machine.step().unwrap();
|
||||
}
|
||||
@@ -8,7 +8,7 @@ fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
|
||||
#[test]
|
||||
fn advanced2_nested_invoke_simple() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/test-nestedinvoke-simple.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/test-nestedinvoke-simple.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 1);
|
||||
@@ -35,7 +35,7 @@ fn advanced2_nested_invoke_simple() {
|
||||
|
||||
#[test]
|
||||
fn advanced2_nested_invoke() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/test-nestedinvoke.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/test-nestedinvoke.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 8);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
extern crate rustijvm;
|
||||
|
||||
fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
fn steps(machine: &mut rustijvm::machine::Machine, num: usize) {
|
||||
for _ in 0..num {
|
||||
machine.step().unwrap();
|
||||
}
|
||||
@@ -10,7 +10,7 @@ fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
fn advanced3_wide1() {
|
||||
use rustijvm::value::Value::Int;
|
||||
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/test-wide1.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/test-wide1.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 6);
|
||||
@@ -27,7 +27,7 @@ fn advanced3_wide1() {
|
||||
#[test]
|
||||
fn advanced3_wide2() {
|
||||
use rustijvm::value::Value::Int;
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/test-wide2.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/test-wide2.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 6);
|
||||
|
||||
@@ -5,7 +5,7 @@ use std::io::{Seek, SeekFrom, Read};
|
||||
#[test]
|
||||
fn advanced4_tanenbaum() {
|
||||
let rc = rustijvm::stubs::output_stub();
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/Tanenbaum.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/Tanenbaum.ijvm").unwrap();
|
||||
|
||||
machine.set_output(rc.clone());
|
||||
machine.run().unwrap();
|
||||
|
||||
@@ -4,7 +4,7 @@ use std::io::{Seek, SeekFrom, Read};
|
||||
|
||||
fn run_calc(input: &'static str, expected: &str) {
|
||||
let rc = rustijvm::stubs::output_stub();
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/SimpleCalc.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/SimpleCalc.ijvm").unwrap();
|
||||
|
||||
machine.set_input(Box::new(input.as_bytes()));
|
||||
machine.set_output(rc.clone());
|
||||
|
||||
@@ -4,7 +4,7 @@ use std::io::{Seek, SeekFrom, Read};
|
||||
|
||||
fn run_calc(input: &'static str, expected: &str) {
|
||||
let rc = rustijvm::stubs::output_stub();
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/SimpleCalc.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/SimpleCalc.ijvm").unwrap();
|
||||
|
||||
machine.set_input(Box::new(input.as_bytes()));
|
||||
machine.set_output(rc.clone());
|
||||
|
||||
@@ -6,7 +6,7 @@ use std::io::{SeekFrom, Seek, Read};
|
||||
#[ignore]
|
||||
fn advanced7() {
|
||||
let output = rustijvm::stubs::output_stub();
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/mandelbread.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/mandelbread.ijvm").unwrap();
|
||||
machine.set_output(output.clone());
|
||||
machine.run().unwrap();
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ extern crate rustijvm;
|
||||
|
||||
use std::convert::TryInto;
|
||||
|
||||
fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
fn steps(machine: &mut rustijvm::machine::Machine, num: usize) {
|
||||
for _ in 0..num {
|
||||
machine.step().unwrap();
|
||||
}
|
||||
@@ -10,7 +10,7 @@ fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
|
||||
#[test]
|
||||
fn advancedstack_100() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/teststack.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/teststack.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 1);
|
||||
@@ -20,7 +20,7 @@ fn advancedstack_100() {
|
||||
|
||||
#[test]
|
||||
fn advancedstack_3000() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/teststack.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/teststack.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 1);
|
||||
@@ -30,7 +30,7 @@ fn advancedstack_3000() {
|
||||
|
||||
#[test]
|
||||
fn advancedstack_50000() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/teststack.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/teststack.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 1);
|
||||
@@ -40,7 +40,7 @@ fn advancedstack_50000() {
|
||||
|
||||
#[test]
|
||||
fn advancedstack_contents() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/teststack.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/teststack.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 1);
|
||||
@@ -58,7 +58,7 @@ fn advancedstack_contents() {
|
||||
|
||||
#[test]
|
||||
fn advancedstack_method() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/advanced/teststack2.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/teststack2.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 8);
|
||||
|
||||
@@ -6,7 +6,7 @@ use std::io::{Seek, SeekFrom, Read};
|
||||
fn run_bfi(file: &str) -> String {
|
||||
let file = File::open(file).expect("Missing bf file");
|
||||
let rc = rustijvm::stubs::output_stub();
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/bonus/bfi.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/bonus/bfi.ijvm").unwrap();
|
||||
machine.set_output(rc.clone());
|
||||
machine.set_input(Box::new(file));
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ fn test_create_from_slice() {
|
||||
let mut vec = Vec::<u8>::new();
|
||||
File::open("files/task1/program1.ijvm").unwrap().read_to_end(&mut vec).unwrap();
|
||||
|
||||
let machine = rustijvm::Machine::new_from_slice(&vec).unwrap();
|
||||
let machine = rustijvm::machine::Machine::new_from_slice(&vec).unwrap();
|
||||
|
||||
assert_eq!(machine.block.len(), 7);
|
||||
assert_eq!(machine.block[0], 0x10); // BIPUSH
|
||||
|
||||
@@ -4,7 +4,7 @@ use rustijvm::binread::BinReadable;
|
||||
|
||||
#[test]
|
||||
fn task1_program1() {
|
||||
let machine = rustijvm::Machine::new_from_file("files/task1/program1.ijvm").unwrap();
|
||||
let machine = rustijvm::machine::Machine::new_from_file("files/task1/program1.ijvm").unwrap();
|
||||
|
||||
assert_eq!(machine.block.len(), 7);
|
||||
assert_eq!(machine.block[0], 0x10); // BIPUSH
|
||||
@@ -15,7 +15,7 @@ fn task1_program1() {
|
||||
|
||||
#[test]
|
||||
fn task1_program2() {
|
||||
let machine = rustijvm::Machine::new_from_file("files/task1/program2.ijvm").unwrap();
|
||||
let machine = rustijvm::machine::Machine::new_from_file("files/task1/program2.ijvm").unwrap();
|
||||
|
||||
assert_eq!(machine.block.len(), 16);
|
||||
assert_eq!(machine.block[0], 0x0);
|
||||
@@ -31,7 +31,7 @@ fn task1_program2() {
|
||||
|
||||
#[test]
|
||||
fn task1_program_counter() {
|
||||
let machine = rustijvm::Machine::new_from_file("files/task1/program1.ijvm").unwrap();
|
||||
let machine = rustijvm::machine::Machine::new_from_file("files/task1/program1.ijvm").unwrap();
|
||||
|
||||
assert_eq!(machine.get_program_counter(), 0);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
extern crate rustijvm;
|
||||
|
||||
fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
fn steps(machine: &mut rustijvm::machine::Machine, num: usize) {
|
||||
for _ in 0..num {
|
||||
machine.step().unwrap();
|
||||
}
|
||||
@@ -8,7 +8,7 @@ fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
|
||||
#[test]
|
||||
fn task2_simple_bipush() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestBipush1.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestBipush1.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 1);
|
||||
@@ -17,7 +17,7 @@ fn task2_simple_bipush() {
|
||||
|
||||
#[test]
|
||||
fn task2_signed_bipush() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestBipush2.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestBipush2.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 1);
|
||||
@@ -26,7 +26,7 @@ fn task2_signed_bipush() {
|
||||
|
||||
#[test]
|
||||
fn task2_simple_iadd() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestIadd1.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestIadd1.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 3);
|
||||
@@ -35,7 +35,7 @@ fn task2_simple_iadd() {
|
||||
|
||||
#[test]
|
||||
fn task2_signed_iadd() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestIadd2.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestIadd2.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 3);
|
||||
@@ -44,7 +44,7 @@ fn task2_signed_iadd() {
|
||||
|
||||
#[test]
|
||||
fn task2_simple_isub() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestIsub1.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestIsub1.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 3);
|
||||
@@ -53,7 +53,7 @@ fn task2_simple_isub() {
|
||||
|
||||
#[test]
|
||||
fn task2_signed_isub() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestIsub2.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestIsub2.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 3);
|
||||
@@ -62,7 +62,7 @@ fn task2_signed_isub() {
|
||||
|
||||
#[test]
|
||||
fn task2_simple_iand() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestIAND1.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestIAND1.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 5);
|
||||
@@ -71,7 +71,7 @@ fn task2_simple_iand() {
|
||||
|
||||
#[test]
|
||||
fn task2_simple_ior() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestIOR1.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestIOR1.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 5);
|
||||
@@ -80,7 +80,7 @@ fn task2_simple_ior() {
|
||||
|
||||
#[test]
|
||||
fn task2_swap() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestSwap1.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestSwap1.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 1);
|
||||
@@ -95,7 +95,7 @@ fn task2_swap() {
|
||||
|
||||
#[test]
|
||||
fn task2_simple_stack_operations() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestPop1.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestPop1.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 3);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
extern crate rustijvm;
|
||||
|
||||
fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
fn steps(machine: &mut rustijvm::machine::Machine, num: usize) {
|
||||
for _ in 0..num {
|
||||
machine.step().unwrap();
|
||||
}
|
||||
@@ -8,7 +8,7 @@ fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
|
||||
#[test]
|
||||
fn task3_goto1() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task3/GOTO1.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task3/GOTO1.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 1);
|
||||
@@ -20,7 +20,7 @@ fn task3_goto1() {
|
||||
|
||||
#[test]
|
||||
fn task3_goto2() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task3/GOTO2.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task3/GOTO2.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 1);
|
||||
@@ -34,7 +34,7 @@ fn task3_goto2() {
|
||||
|
||||
#[test]
|
||||
fn task3_ifeq1() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task3/IFEQ1.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task3/IFEQ1.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 1);
|
||||
@@ -73,7 +73,7 @@ fn task3_ifeq1() {
|
||||
|
||||
#[test]
|
||||
fn task3_iflt1() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task3/IFLT1.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task3/IFLT1.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
let mut pc = 0;
|
||||
@@ -102,7 +102,7 @@ fn task3_iflt1() {
|
||||
|
||||
#[test]
|
||||
fn task3_ificmpeq1() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task3/IFICMPEQ1.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task3/IFICMPEQ1.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
let mut pc = 0;
|
||||
|
||||
@@ -2,7 +2,7 @@ extern crate rustijvm;
|
||||
|
||||
use std::io::{Read, Seek, SeekFrom};
|
||||
|
||||
fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
fn steps(machine: &mut rustijvm::machine::Machine, num: usize) {
|
||||
for _ in 0..num {
|
||||
machine.step().unwrap();
|
||||
}
|
||||
@@ -10,7 +10,7 @@ fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
|
||||
#[test]
|
||||
fn task4_ldcw1() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task4/LoadTest1.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task4/LoadTest1.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 1);
|
||||
@@ -23,7 +23,7 @@ fn task4_ldcw1() {
|
||||
|
||||
#[test]
|
||||
fn task4_simple_load() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task4/LoadTest3.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task4/LoadTest3.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 1);
|
||||
@@ -52,7 +52,7 @@ fn task4_simple_load() {
|
||||
|
||||
#[test]
|
||||
fn task4_complex_load() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task4/LoadTest2.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task4/LoadTest2.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 1);
|
||||
@@ -87,7 +87,7 @@ fn task4_complex_load() {
|
||||
fn task4_iteration_load() {
|
||||
let rc = rustijvm::stubs::output_stub();
|
||||
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task4/LoadTest4.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task4/LoadTest4.ijvm").unwrap();
|
||||
machine.set_output(rc.clone());
|
||||
machine.run().unwrap();
|
||||
|
||||
@@ -103,7 +103,7 @@ fn task4_iteration_load() {
|
||||
#[test]
|
||||
fn task4_iinc() {
|
||||
use rustijvm::value::Value::Int;
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task4/IINCTest.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task4/IINCTest.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 4);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
extern crate rustijvm;
|
||||
fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
fn steps(machine: &mut rustijvm::machine::Machine, num: usize) {
|
||||
for _ in 0..num {
|
||||
machine.step().unwrap();
|
||||
}
|
||||
@@ -7,7 +7,7 @@ fn steps(machine: &mut rustijvm::Machine, num: usize) {
|
||||
|
||||
#[test]
|
||||
fn task5_invokenoargs() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task5/TestInvokeNoArgs.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task5/TestInvokeNoArgs.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 2);
|
||||
@@ -20,7 +20,7 @@ fn task5_invokenoargs() {
|
||||
|
||||
#[test]
|
||||
fn task5_invoke1() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task5/test-invokevirtual1.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task5/test-invokevirtual1.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 3);
|
||||
@@ -34,7 +34,7 @@ fn task5_invoke1() {
|
||||
|
||||
#[test]
|
||||
fn task5_ireturn1() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task5/test-invokevirtual1.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task5/test-invokevirtual1.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 6);
|
||||
@@ -45,7 +45,7 @@ fn task5_ireturn1() {
|
||||
|
||||
#[test]
|
||||
fn task5_invoke2() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task5/test-invokevirtual2.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task5/test-invokevirtual2.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 5);
|
||||
@@ -61,7 +61,7 @@ fn task5_invoke2() {
|
||||
|
||||
#[test]
|
||||
fn task5_ireturn2() {
|
||||
let mut machine = rustijvm::Machine::new_from_file("files/task5/test-invokevirtual2.ijvm").unwrap();
|
||||
let mut machine = rustijvm::machine::Machine::new_from_file("files/task5/test-invokevirtual2.ijvm").unwrap();
|
||||
machine.set_output(rustijvm::stubs::output_stub());
|
||||
|
||||
steps(&mut machine, 10);
|
||||
|
||||
Reference in New Issue
Block a user