From 9f705f8389a13e33fe734498f83a08be85d774bc Mon Sep 17 00:00:00 2001 From: aaron Date: Mon, 20 Sep 2021 14:30:53 +0200 Subject: [PATCH] move instructions to its seperate crate --- src/instruction.rs | 17 +++++++++++++++++ src/lib.rs | 2 ++ src/machine.rs | 18 +----------------- src/parser.rs | 0 4 files changed, 20 insertions(+), 17 deletions(-) create mode 100644 src/instruction.rs create mode 100644 src/parser.rs diff --git a/src/instruction.rs b/src/instruction.rs new file mode 100644 index 0000000..fe402f5 --- /dev/null +++ b/src/instruction.rs @@ -0,0 +1,17 @@ +#[derive(Debug)] +pub enum InstructionType { + Increment, + Decrement, + Leftshift, + Rightshift, + PutChar, + GetChar, + JumpIfZero, + JumpIfNotZero, +} + +#[derive(Debug)] +pub struct Instruction { + pub itype: InstructionType, + pub argument: usize, +} diff --git a/src/lib.rs b/src/lib.rs index c685ad7..39a47dc 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1 +1,3 @@ pub mod machine; +pub mod parser; +pub mod instruction; diff --git a/src/machine.rs b/src/machine.rs index 8c7f524..65c2e0d 100644 --- a/src/machine.rs +++ b/src/machine.rs @@ -1,22 +1,6 @@ use std::io::{BufReader, BufWriter, Read, Write}; -#[derive(Debug)] -pub enum InstructionType { - Increment, - Decrement, - Leftshift, - Rightshift, - PutChar, - GetChar, - JumpIfZero, - JumpIfNotZero, -} - -#[derive(Debug)] -pub struct Instruction { - pub itype: InstructionType, - pub argument: usize, -} +use crate::instruction::{Instruction, InstructionType}; pub struct Machine<'a> { ip: usize, diff --git a/src/parser.rs b/src/parser.rs new file mode 100644 index 0000000..e69de29