2023-10-14 12:21:01 +00:00
|
|
|
DOC ::= (VAR_DECL | RULE)*
|
2023-10-14 01:56:31 +00:00
|
|
|
RULE ::= TARGET rarrow DEPS BLOCK
|
2023-10-14 12:21:01 +00:00
|
|
|
TARGET ::= LITERAL+
|
|
|
|
DEPS ::= LITERAL*
|
2023-10-14 01:56:31 +00:00
|
|
|
BLOCK ::= obrace CMD_LST cbrace
|
|
|
|
CMD_LST ::= (CMD (comma CMD)* comma?)?
|
2023-10-14 12:21:01 +00:00
|
|
|
CMD ::= LITERAL*
|
2023-10-15 13:18:28 +00:00
|
|
|
LITERAL ::=
|
|
|
|
| ident
|
|
|
|
| var
|
|
|
|
| generic
|
|
|
|
| ARRAY
|
|
|
|
| INDEX
|
|
|
|
|
2023-10-14 12:21:01 +00:00
|
|
|
|
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
|