Match all instructions without arguments
This commit is contained in:
@@ -24,6 +24,10 @@ subb =@{ "subb" ~ spacing+ ~ num }
|
|||||||
subv =@{ "subv" ~ spacing+ ~ variable }
|
subv =@{ "subv" ~ spacing+ ~ variable }
|
||||||
|
|
||||||
copy =@{ "copy" ~ spacing+ ~ variable }
|
copy =@{ "copy" ~ spacing+ ~ variable }
|
||||||
|
setz =@{ "setz" }
|
||||||
|
|
||||||
|
getchr =@{ "getchr" }
|
||||||
|
print =@{ "print" }
|
||||||
|
|
||||||
instruction =_{ var
|
instruction =_{ var
|
||||||
| delvar
|
| delvar
|
||||||
@@ -40,6 +44,10 @@ instruction =_{ var
|
|||||||
| subv
|
| subv
|
||||||
|
|
||||||
| copy
|
| copy
|
||||||
|
| setz
|
||||||
|
|
||||||
|
| getchr
|
||||||
|
| print
|
||||||
|
|
||||||
| operator ~ (spacing+ ~ operand)?
|
| operator ~ (spacing+ ~ operand)?
|
||||||
}
|
}
|
||||||
|
|||||||
+12
@@ -118,6 +118,18 @@ fn instruct(statement: Pair<Rule>, out: &mut Builder) {
|
|||||||
println!("Copy to variable '{}'", variable_name);
|
println!("Copy to variable '{}'", variable_name);
|
||||||
out.append("copy\n");
|
out.append("copy\n");
|
||||||
}
|
}
|
||||||
|
Rule::setz => {
|
||||||
|
println!("Set current variable to zero");
|
||||||
|
out.append("setz\n");
|
||||||
|
}
|
||||||
|
Rule::getchr => {
|
||||||
|
println!("Reading char from user input into current variable");
|
||||||
|
out.append("getchr\n");
|
||||||
|
}
|
||||||
|
Rule::print => {
|
||||||
|
println!("Printing current variable");
|
||||||
|
out.append("print\n");
|
||||||
|
}
|
||||||
Rule::instruction => {
|
Rule::instruction => {
|
||||||
out.append("\n");
|
out.append("\n");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user