Files
bfc/grammar/bf.g4

46 lines
570 B
Plaintext
Raw Normal View History

2020-09-29 23:16:42 +05:30
grammar bf;
2020-09-30 00:50:00 +05:30
program
: statements* EOF;
statements
: (statement|numberedStatement|loopStmt)+;
loopStmt
: LOOPSTART statements LOOPEND
;
numberedStatement
: statement NUMBER
;
statement
: INC
| DEC
| LEFT
| RIGHT
| inputStmt
| outputStmt
;
inputStmt
: INPUT
;
outputStmt
: OUTPUT
2020-09-29 23:30:58 +05:30
;
2020-09-29 23:16:42 +05:30
2020-09-29 23:30:58 +05:30
NEWLINE: '\n' -> skip;
2020-09-30 00:50:00 +05:30
COMMENT: '//' ~[\r\n]* '\r'? '\n'? -> channel(HIDDEN);
WS: [ \r\n] -> skip;
LOOPSTART: '[';
LOOPEND:']';
NUMBER: [0-9]+;
2020-09-29 23:16:42 +05:30
INPUT: '?';
OUTPUT: '.';
DEC: '-';
INC: '+';
LEFT: '>';
RIGHT: '<';