snake/doc/grammar.bnf

13 lines
351 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 19:20:39 +00:00
INDEX ::= (var|ARRAY) osquare ident csquare