The compiler
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

18 lines
487 B

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