Parsodus/examples/brainfuck/bfParser.pds

29 lines
595 B
Plaintext

parser: SLR(1)
lexesis: bfLexer.lxs
terminals:
"PLUS"
"MINUS"
"GREATER"
"LESS"
"POINT"
"COMMA"
"LBRACKET"
"RBRACKET"
precedence:
left
nonassoc
right
start: <program>
grammar:
<program> ::= <instruction> <program> [PROGRAM]
| [EMPTY]
;
<instruction> ::= "PLUS" [OPERATION]
| "MINUS" [OPERATION]
| "GREATER" [OPERATION]
| "LESS" [OPERATION]
| "POINT" [OPERATION]
| "COMMA" [OPERATION]
| "LBRACKET" <program> "RBRACKET" [LOOP]
;