update grammar a bit
[jwcc.git] / grammar.txt
index f8e78d2..ecf0dd1 100644 (file)
@@ -2,7 +2,7 @@ GLOBAL          := ( FUNCTION | VARIABLE )*
 FUNCTION       := TYPE MODIFIERS _IDENTIFIER ARGSLIST ( ';' | STMTLIST )
 TYPE           := 'int'
 MODIFIERS      := '*'*
-ARGSLIST       := '(' [ TYPE _IDENTIFIER ( ',' TYPE _IDENTIFIER)]* ] ')'
+ARGSLIST       := '(' [ TYPE MODIFIERS _IDENTIFIER ( ',' TYPE MODIFIERS _IDENTIFIER )* ] ')'
 STMTLIST       := '{' ( VARIABLE | STATEMENT | STMTLIST )* '}'
 VARIABLE       := TYPE MODIFIERS _IDENTIFIER [ = EXPRESSION ] ';'
 STATEMENT      := ( ';' | EXPRESSION ';' | WHILE | IF | RETURN )
@@ -15,4 +15,5 @@ P13EXPR               := P6EXPR ( '=' P6EXPR )*
 P6EXPR         := P5EXPR ( '==' P5EXPR )*
 P5EXPR         := P3EXPR ( ( '<' | '>' ) P3EXPR )*
 P3EXPR         := P2EXPR ( ( '+' | '-' ) P2EXPR )*
-P2EXPR         := _NUMBER ( ( '*' | '/' ) _NUMBER )*
\ No newline at end of file
+P2EXPR         := SUBEXPR ( ( '*' | '/' ) SUBEXPR )*
+SUBEXPR                := ( '(' EXPRESSION ')' | _NUMBER | _IDENTIFIER )
This page took 0.016669 seconds and 4 git commands to generate.