Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision 3c6725551bc46233f86ab211b20985909ee136fa)
+++ src/Parser/parser.yy	(revision 4a063dfa08e50f0e360b8e39bf15176d669edb86)
@@ -10,6 +10,6 @@
 // Created On       : Sat Sep  1 20:22:55 2001
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Dec 16 15:32:58 2019
-// Update Count     : 4409
+// Last Modified On : Fri Jan 17 14:54:55 2020
+// Update Count     : 4426
 //
 
@@ -323,5 +323,5 @@
 %type<op> ptrref_operator				unary_operator				assignment_operator
 %type<en> primary_expression			postfix_expression			unary_expression
-%type<en> cast_expression				exponential_expression		multiplicative_expression	additive_expression
+%type<en> cast_expression_list			cast_expression				exponential_expression		multiplicative_expression	additive_expression
 %type<en> shift_expression				relational_expression		equality_expression
 %type<en> AND_expression				exclusive_OR_expression		inclusive_OR_expression
@@ -679,5 +679,5 @@
 	| argument_expression
 	| argument_expression_list ',' argument_expression
-		{ $$ = (ExpressionNode *)( $1->set_last( $3 )); }
+		{ $$ = (ExpressionNode *)($1->set_last( $3 )); }
 	;
 
@@ -691,5 +691,5 @@
 field_name_list:										// CFA, tuple field selector
 	field
-	| field_name_list ',' field					{ $$ = (ExpressionNode *)$1->set_last( $3 ); }
+	| field_name_list ',' field					{ $$ = (ExpressionNode *)($1->set_last( $3 )); }
 	;
 
@@ -960,5 +960,5 @@
 		{ $$ = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( $3 ) ) ); }
 	| '[' push assignment_expression pop ',' tuple_expression_list ']'
-		{ $$ = new ExpressionNode( build_tuple( (ExpressionNode *)$3->set_last( $6 ) ) ); }
+		{ $$ = new ExpressionNode( build_tuple( (ExpressionNode *)($3->set_last( $6 ) ) )); }
 	;
 
@@ -966,5 +966,5 @@
 	assignment_expression_opt
 	| tuple_expression_list ',' assignment_expression_opt
-		{ $$ = (ExpressionNode *)$1->set_last( $3 ); }
+		{ $$ = (ExpressionNode *)($1->set_last( $3 )); }
 	;
 
@@ -1307,6 +1307,14 @@
 	WAITFOR '(' cast_expression ')'
 		{ $$ = $3; }
-	| WAITFOR '(' cast_expression ',' argument_expression_list ')'
-		{ $$ = (ExpressionNode *)$3->set_last( $5 ); }
+//	| WAITFOR '(' cast_expression ',' argument_expression_list ')'
+//	  	{ $$ = (ExpressionNode *)$3->set_last( $5 ); }
+	| WAITFOR '(' cast_expression_list ':' argument_expression_list ')'
+		{ $$ = (ExpressionNode *)($3->set_last( $5 )); }
+	;
+
+cast_expression_list:
+	cast_expression
+	| cast_expression_list ',' cast_expression
+		{ $$ = (ExpressionNode *)($1->set_last( $3 )); }
 	;
 
@@ -1419,5 +1427,5 @@
 	asm_operand
 	| asm_operands_list ',' asm_operand
-		{ $$ = (ExpressionNode *)$1->set_last( $3 ); }
+		{ $$ = (ExpressionNode *)($1->set_last( $3 )); }
 	;
 
@@ -1435,6 +1443,5 @@
 		{ $$ = new ExpressionNode( $1 ); }
 	| asm_clobbers_list_opt ',' string_literal
-		// set_last returns ParseNode *
-		{ $$ = (ExpressionNode *)$1->set_last( new ExpressionNode( $3 ) ); }
+		{ $$ = (ExpressionNode *)($1->set_last( new ExpressionNode( $3 ) )); }
 	;
 
@@ -2359,5 +2366,5 @@
 	| initializer_list_opt ',' initializer		{ $$ = (InitializerNode *)( $1->set_last( $3 ) ); }
 	| initializer_list_opt ',' designation initializer
-		{ $$ = (InitializerNode *)( $1->set_last( $4->set_designators( $3 ) ) ); }
+		{ $$ = (InitializerNode *)($1->set_last( $4->set_designators( $3 ) )); }
 	;
 
@@ -2381,5 +2388,5 @@
 	designator
 	| designator_list designator
-		{ $$ = (ExpressionNode *)( $1->set_last( $2 ) ); }
+		{ $$ = (ExpressionNode *)($1->set_last( $2 )); }
 	//| designator_list designator						{ $$ = new ExpressionNode( $1, $2 ); }
 	;
@@ -2478,5 +2485,5 @@
 		{ SemanticError( yylloc, toString("Expression generic parameters are currently unimplemented: ", $1->build()) ); $$ = nullptr; }
 	| type_list ',' type
-		{ $$ = (ExpressionNode *)( $1->set_last( new ExpressionNode( new TypeExpr( maybeMoveBuildType( $3 ) ) ) ) ); }
+		{ $$ = (ExpressionNode *)($1->set_last( new ExpressionNode( new TypeExpr( maybeMoveBuildType( $3 ) ) ) )); }
 	| type_list ',' assignment_expression
 		{ SemanticError( yylloc, toString("Expression generic parameters are currently unimplemented: ", $3->build()) ); $$ = nullptr; }
