@@ -119,7 +119,7 @@ void Parser::parseStmtTerminator(const char* contextInfo) {
119119
120120// / argument-list ::= '(' ')' | '(' nonempty-argument-list ')'
121121// / nonempty-argument-list ::= argument | nonempty-argument-list ',' argument
122- // / argument ::= (id ': ')? expr
122+ // / argument ::= (id '= ')? expr
123123std::vector<NamedValue> Parser::parseArgumentList (bool allowEmpty) {
124124 parse (Token::LeftParen);
125125 std::vector<NamedValue> args;
@@ -132,7 +132,7 @@ std::vector<NamedValue> Parser::parseArgumentList(bool allowEmpty) {
132132 do {
133133 std::string name;
134134 Location location = Location ();
135- if (lookAhead (1 ) == Token::Colon ) {
135+ if (lookAhead (1 ) == Token::Assignment ) {
136136 auto result = parse (Token::Identifier);
137137 name = result.getString ().str ();
138138 location = result.getLocation ();
@@ -275,7 +275,7 @@ ArrayLiteralExpr* Parser::parseArrayLiteral() {
275275
276276// / tuple-literal ::= '(' tuple-literal-elements ')'
277277// / tuple-literal-elements ::= tuple-literal-element | tuple-literal-elements ',' tuple-literal-element
278- // / tuple-literal-element ::= (id ': ')? expr
278+ // / tuple-literal-element ::= (id '= ')? expr
279279// / paren-expr ::= '(' expr ')'
280280Expr* Parser::parseTupleLiteralOrParenExpr () {
281281 ASSERT (currentToken () == Token::LeftParen);
@@ -524,6 +524,7 @@ LambdaExpr* Parser::parseLambdaExpr() {
524524 return lambda;
525525}
526526
527+ // TODO: change to: 'if' expr 'then' expr 'else' expr
527528// / if-expr ::= expr '?' expr ':' expr
528529IfExpr* Parser::parseIfExpr (Expr* condition) {
529530 ASSERT (currentToken () == Token::QuestionMark);
0 commit comments