diff --git a/src/grammars/mblf.pest b/src/grammars/mblf.pest index 5113117..660522e 100644 --- a/src/grammars/mblf.pest +++ b/src/grammars/mblf.pest @@ -24,6 +24,10 @@ subb =@{ "subb" ~ spacing+ ~ num } subv =@{ "subv" ~ spacing+ ~ variable } copy =@{ "copy" ~ spacing+ ~ variable } +setz =@{ "setz" } + +getchr =@{ "getchr" } +print =@{ "print" } instruction =_{ var | delvar @@ -40,6 +44,10 @@ instruction =_{ var | subv | copy + | setz + + | getchr + | print | operator ~ (spacing+ ~ operand)? } diff --git a/src/main.rs b/src/main.rs index 705f7b1..59747ce 100644 --- a/src/main.rs +++ b/src/main.rs @@ -118,6 +118,18 @@ fn instruct(statement: Pair, out: &mut Builder) { println!("Copy to variable '{}'", variable_name); 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 => { out.append("\n"); }