5.3. Primary Expressions
(* Introduced in 0.5.3 *)
TypeExpression = (* type_keyword: *) TYPE_KEYWORD
(* open_paren: *) OPEN_PAREN
(* type_name: *) TypeName
(* close_paren: *) CLOSE_PAREN;
NewExpression = (* new_keyword: *) NEW_KEYWORD
(* type_name: *) TypeName;
TupleExpression = (* open_paren: *) OPEN_PAREN
(* items: *) TupleValues
(* close_paren: *) CLOSE_PAREN;
TupleValues = (* item: *) TupleValue ((* separator: *) COMMA (* item: *) TupleValue)*;
TupleValue = (* expression: *) Expression?;
ArrayExpression = (* open_bracket: *) OPEN_BRACKET
(* items: *) ArrayValues
(* close_bracket: *) CLOSE_BRACKET;
ArrayValues = (* item: *) Expression ((* separator: *) COMMA (* item: *) Expression)*;