Skip to content

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)*;