snake/doc/grammar.bnf

14 lines
369 B
BNF
Raw Normal View History

DOC ::= (VAR_DECL | RULE)*
2023-10-14 01:56:31 +00:00
RULE ::= TARGET rarrow DEPS BLOCK
TARGET ::= LITERAL+
DEPS ::= LITERAL*
2023-10-14 01:56:31 +00:00
BLOCK ::= obrace CMD_LST cbrace
CMD_LST ::= (CMD (comma CMD)* comma?)?
CMD ::= LITERAL*
2023-10-14 19:20:39 +00:00
LITERAL ::= ident | var | ARRAY | INDEX
2023-10-14 19:20:39 +00:00
VAR_DECL ::= var assign (LITERAL | ARRAY | INDEX)
2023-10-14 15:55:51 +00:00
ARRAY ::= opar LITERAL* cpar
2023-10-14 20:07:36 +00:00
INDEX ::=
| (var|ARRAY) osquare ident (assign ident)? csquare