33 lines
784 B
Rust
33 lines
784 B
Rust
mod common;
|
|
|
|
use std::env;
|
|
use std::fs::File;
|
|
use std::io::{self, BufRead};
|
|
|
|
use common::Circuit;
|
|
|
|
fn main() -> io::Result<()> {
|
|
let path = env::args().nth(1).unwrap();
|
|
let file = io::BufReader::new(File::open(path)?);
|
|
let instructions = file.lines().map(|l| l.unwrap()).collect::<Vec<_>>();
|
|
|
|
let mut circuit = Circuit::default();
|
|
for tokens in &instructions {
|
|
circuit.add_instruction(tokens);
|
|
}
|
|
circuit.execute();
|
|
let output = circuit.variable("a").copied().unwrap();
|
|
|
|
circuit = Circuit::default();
|
|
for tokens in &instructions {
|
|
circuit.add_instruction(tokens);
|
|
}
|
|
circuit.variable_override("b", output);
|
|
circuit.execute();
|
|
let output = circuit.variable("a").unwrap();
|
|
|
|
println!("{}", output);
|
|
|
|
Ok(())
|
|
}
|