Compare commits

..

2 commits

Author SHA1 Message Date
ae9634fee6
cargo lock 2024-08-14 12:46:59 +01:00
d6a10ea2cc
add jumping to a usize 2024-08-14 12:46:48 +01:00
3 changed files with 8 additions and 4 deletions

2
Cargo.lock generated
View file

@ -99,7 +99,7 @@ checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
[[package]] [[package]]
name = "granite" name = "granite"
version = "1.1.0" version = "1.2.0"
dependencies = [ dependencies = [
"clap", "clap",
] ]

View file

@ -1,6 +1,6 @@
[package] [package]
name = "granite" name = "granite"
version = "1.1.0" version = "1.2.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]

View file

@ -183,9 +183,13 @@ fn execute(program: Program) {
let label_loc = labels.get(&statement.arguments[0]).unwrap(); let label_loc = labels.get(&statement.arguments[0]).unwrap();
current_statement = label_loc.clone(); current_statement = label_loc.clone();
} else { } else {
let binding = statement.arguments[0].clone().parse::<usize>();
if binding.is_ok() { current_statement = binding.unwrap(); }
else {
println!("Numerical type issues."); println!("Numerical type issues.");
exit(1); exit(1);
} }
}
} else if statement.operator == "a" { } else if statement.operator == "a" {
if vars.contains_key(&statement.arguments[0]) && vars.contains_key(&statement.arguments[1]) { if vars.contains_key(&statement.arguments[0]) && vars.contains_key(&statement.arguments[1]) {
let value = vars.get(&statement.arguments[0]).unwrap(); let value = vars.get(&statement.arguments[0]).unwrap();