From 0c87557d3922bc03921fbe6a1beb6a0122cd06df Mon Sep 17 00:00:00 2001 From: Raymon Zutekouw <40148684+Raymonzut@users.noreply.github.com> Date: Sun, 26 Dec 2021 19:20:56 +0100 Subject: [PATCH] Allow nested loopBlocks - loopBlocks now contain statements i.o. instructions --- src/grammars/mblf.pest | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/grammars/mblf.pest b/src/grammars/mblf.pest index cf2ca56..54f5e6c 100644 --- a/src/grammars/mblf.pest +++ b/src/grammars/mblf.pest @@ -1,15 +1,17 @@ -operator = @{ "operator" } // TODO -operand = @{ "operand" } // TODO +operator = @{ "operator" } // TODO +operand = @{ "operand" } // TODO -instruction = { operator ~ (" "+ ~ operand)*} +instruction = { operator ~ (" "+ ~ operand)* } -loopBlockStart = { "[" } -loopBlockEnd = { "]" } -loopBlock = { loopBlockStart - ~ instruction* - ~ loopBlockEnd -} +loopBlockStart = { "[" } +loopBlockEnd = { "]" } +loopBlock = { loopBlockStart + ~ statements + ~ loopBlockEnd + } + +statement = _{ instruction | loopBlock } +statements = _{ statement* } -statement = _{ instruction | loopBlock } file = {SOI ~ (statement ~ ("\n" | "\r\n")+)* ~ EOI}