Loads more parsing work

This commit is contained in:
2022-04-03 15:25:26 +02:00
parent 75f8720c54
commit 2bc3bee344
12 changed files with 571 additions and 108 deletions

View File

@@ -56,10 +56,10 @@ typemod ::= ['&' ['in' | 'out' | 'inout']];
lambda ::= 'function' '(' [[type typemod] identifier {',' [type typemod] identifier}] ')' statblock;
exprvalue ::= 'void' | constructcall | funccall | varaccess | cast | literal | '(' assign ')' | lambda;
exprpostop ::= ('.' (funccall | identifier)) | ('[' [identifier ':'] assign {',' [identifier ':' assign} ']') | arglist | '++' | '--';
exprpostop ::= ('.' (funccall | identifier)) | ('[' [ identifier ':'] assign {',' [ identifier ':' assign } ']' ) | arglist | '++' | '--';
exprterm ::= ([type '='] initlist) | ({exprpreop} exprvalue {exprpostop});
expr ::= exprterm {(mathop | compop | logicop | bitop) exprterm};
ternary ::= expr ['?' assign : assign];
ternary ::= expr ['?' assign ':' assign];
return ::= 'return' [assign] ';';
exprstat ::= assign ';';