From eb61fa5cef1b74555c6d4addf4bb7b3549cb1794 Mon Sep 17 00:00:00 2001 From: Raymon Zutekouw <40148684+Raymonzut@users.noreply.github.com> Date: Thu, 30 Dec 2021 22:27:05 +0100 Subject: [PATCH] Match all instructions without arguments --- src/grammars/mblf.pest | 8 ++++++++ src/main.rs | 12 ++++++++++++ 2 files changed, 20 insertions(+) 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"); }