operator = @{ "operator" } // TODO operand = @{ "operand" } // TODO instruction = { operator ~ (spacing+ ~ operand)? } loopBlockStart = { "[" ~ newline } loopBlockEnd = { "]" } loopBlock = { loopBlockStart ~ statements ~ newline ~ loopBlockEnd } statement = _{ instruction | loopBlock } statements = _{ statement* } newline = _{ "\n" | "\r\n" } spacing = _{ " " | "\t" } file = {SOI ~ (statement ~ newline+)* ~ EOI}