Browse Source

Thinking about dropping operators and ading fields in stead.

Beoran 4 years ago
parent
commit
a92dbf43c4
1 changed files with 22 additions and 0 deletions
  1. 22 0
      parser.go

+ 22 - 0
parser.go

@@ -94,6 +94,28 @@ as follows:
 - 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
  * statements -> statement+