|
|
@ -1,6 +1,3 @@ |
|
|
|
operator = @{ "operator" } // TODO |
|
|
|
|
|
|
|
operand = @{ "operand" } // TODO |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wordSeperator =_{ " " | "-" | "_" } |
|
|
|
wordSeperator =_{ " " | "-" | "_" } |
|
|
|
variable =@{ ASCII_ALPHA |
|
|
|
variable =@{ ASCII_ALPHA |
|
|
|
~ (ASCII_ALPHANUMERIC | wordSeperator)* |
|
|
|
~ (ASCII_ALPHANUMERIC | wordSeperator)* |
|
|
@ -58,8 +55,6 @@ instruction =_{ macaroo |
|
|
|
|
|
|
|
|
|
|
|
| getchr |
|
|
|
| getchr |
|
|
|
| print |
|
|
|
| print |
|
|
|
|
|
|
|
|
|
|
|
| operator ~ (spacing+ ~ operand)? |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
loopBlockStart = { "[" ~ NEWLINE } |
|
|
|
loopBlockStart = { "[" ~ NEWLINE } |
|
|
@ -69,13 +64,13 @@ loopBlock = { loopBlockStart |
|
|
|
~ spacing* ~ loopBlockEnd |
|
|
|
~ spacing* ~ loopBlockEnd |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
statement = _{ spacing* |
|
|
|
statement =_{ spacing* |
|
|
|
~ (instruction | loopBlock) |
|
|
|
~ (instruction | loopBlock) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
statements = _{ (statement | NEWLINE)* } |
|
|
|
statements =_{ (statement | NEWLINE)* } |
|
|
|
|
|
|
|
|
|
|
|
spacing = _{ " " | "\t" } |
|
|
|
spacing =_{ " " | "\t" } |
|
|
|
COMMENT = _{ ";;" ~ (!NEWLINE ~ ANY)* ~ NEWLINE} |
|
|
|
COMMENT =_{ ";;" ~ (!NEWLINE ~ ANY)* ~ NEWLINE } |
|
|
|
|
|
|
|
|
|
|
|
file = {SOI ~ (statement ~ NEWLINE+)* ~ EOI} |
|
|
|
file = { SOI ~ (statement ~ NEWLINE+)* ~ EOI } |
|
|
|