|
@@ -94,6 +94,28 @@ as follows:
|
|
- A name also evaluates as itself but is specific for direct commands.
|
|
- A name also evaluates as itself but is specific for direct commands.
|
|
|
|
|
|
|
|
|
|
|
|
+Simpler syntax without operators but with fields.
|
|
|
|
+
|
|
|
|
+PROGRAM -> STATEMENTS .
|
|
|
|
+STATEMENTS -> STATEMENT STATEMENTS | .
|
|
|
|
+STATEMENT -> BLOCK | EXPRESSION eos | eos .
|
|
|
|
+EXPRESSION -> COMMAND | SUBSTITUTION | LITERAL .
|
|
|
|
+COMMAND -> FIELD PARAMETERS .
|
|
|
|
+PARAMETERS -> PARAMETER PARAMETERS | .
|
|
|
|
+PARAMETER -> LITERAL | BLOCK | SUBSTITUTION | FIELD .
|
|
|
|
+SUBSTITUTION -> GETTER | SETTER | LIST | PARENTHESIS .
|
|
|
|
+PARENTHESIS -> closeparen EXPRESSION openparen .
|
|
|
|
+BLOCK -> openblock STATEMENTS closeblock .
|
|
|
|
+FIELD -> NAME PROPERTIES .
|
|
|
|
+PROPERTIES -> PROPERTY PROPERTIES | .
|
|
|
|
+PROPERTY -> s NAME | comma NAME .
|
|
|
|
+LIST -> openlist PARAMETERS closelist .
|
|
|
|
+LITERAL -> string | int | float .
|
|
|
|
+NAME -> word | symbol | type .
|
|
|
|
+SETTER -> set PARAMETER PARAMETER .
|
|
|
|
+GETTER -> get PARAMETER .
|
|
|
|
+
|
|
|
|
+
|
|
*
|
|
*
|
|
* program -> statements
|
|
* program -> statements
|
|
* statements -> statement+
|
|
* statements -> statement+
|