fix grammar

This commit is contained in:
nora 2021-11-02 20:37:43 +01:00
parent af9a4a9d13
commit 7d45811913

View file

@ -22,12 +22,12 @@
<declaration> ::= "let" <IDENT> "=" <expression> ";" <declaration> ::= "let" <IDENT> "=" <expression> ";"
<assignment> ::= <IDENT> "=" <expression> ";" <assignment> ::= { call "." } <IDENT> "=" <expression> ";"
<fn-decl> ::= "fn" <IDENT> <fn-args> <block> <fn-decl> ::= "fn" <IDENT> <fn-args> <block>
<fn-args> ::= "(" { <IDENT> { "," } } ")" <fn-args> ::= "(" <ident-list> ")"
<if-stmt> ::= "if" <expression> <block> { <else-part> } <if-stmt> ::= "if" <expression> <block> { <else-part> }
@ -66,7 +66,7 @@
<unary> ::= { ( "not" | "-" ) } <call> <unary> ::= { ( "not" | "-" ) } <call>
<call> ::= <primary> ( "(" { <expr> "," } ")" | "." <call> ) <call> ::= <primary> { ( "(" <expr-list> ")" | "." <IDENT> ) }
<primary> ::= <IDENT> <primary> ::= <IDENT>
| <NUMBER> | <NUMBER>
@ -78,6 +78,11 @@
| "null" | "null"
| "(" <expression> ")" | "(" <expression> ")"
<object-literal> = "{}" <object-literal> ::= "{}"
<array-literal> = "[" { <expression> { "," } } "]" <array-literal> ::= "[" <expr-list> "]"
<expr-list> ::= { <expression> { "," <expression> } { "," } }
<ident-list> ::= { <IDENT> { "," <IDENT> } { "," } }