From b05b286d5747aed0b10a6a1d8ff6d63b00706970 Mon Sep 17 00:00:00 2001 From: Raymon Zutekouw <40148684+Raymonzut@users.noreply.github.com> Date: Wed, 5 Jan 2022 12:26:27 +0100 Subject: [PATCH] Implement pointm --- src/main.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index ec06bc1..dca8931 100644 --- a/src/main.rs +++ b/src/main.rs @@ -114,7 +114,14 @@ fn instruct(statement: Pair, state: &mut State, out: &mut Builder) { Rule::pointm => { let variable_name = extract_operand(statement); println!("Pointing back to marker variable {}", variable_name); - out.append("pointm\n"); + let address = state + .variables + .get(variable_name) + .unwrap_or_else(|| panic!("Marker variable '{}' did not exists", variable_name)) + .address; + // thank you mixtela + out.append("<+[-<+]-"); + state.mem_pointer = address; } Rule::add => { let constant = extract_operand(statement);