Index: src/Parser/ExpressionNode.cc
===================================================================
--- src/Parser/ExpressionNode.cc	(revision 00c32e9ad9ec53166ebb45c58638f0f5d834758d)
+++ src/Parser/ExpressionNode.cc	(revision cf37a8e2bea1a15cdb9bb1103d1209ee8e54f2c3)
@@ -10,6 +10,6 @@
 // Created On       : Sat May 16 13:17:07 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jul  5 13:41:55 2016
-// Update Count     : 320
+// Last Modified On : Tue Aug  2 15:10:23 2016
+// Update Count     : 322
 //
 
@@ -246,5 +246,5 @@
 	"?|?", "?&?", "?^?", "Cast", "?<<?", "?>>?", "?<?", "?>?", "?<=?", "?>=?", "?==?", "?!=?",
 	"?=?", "?*=?", "?/=?", "?%=?", "?+=?", "?-=?", "?<<=?", "?>>=?", "?&=?", "?^=?", "?|=?",
-	"?[?]", "FieldSel", "PFieldSel", "Range",
+	"?[?]", "FieldSel", "PFieldSel", "...",
 	// monadic
 	"+?", "-?", "AddressOf", "*?", "!?", "~?", "++?", "?++", "--?", "?--", "&&"
Index: src/Parser/parser.cc
===================================================================
--- src/Parser/parser.cc	(revision 00c32e9ad9ec53166ebb45c58638f0f5d834758d)
+++ src/Parser/parser.cc	(revision cf37a8e2bea1a15cdb9bb1103d1209ee8e54f2c3)
@@ -1031,6 +1031,6 @@
      631,   632,   638,   639,   640,   641,   642,   643,   644,   645,
      646,   656,   663,   665,   675,   676,   681,   683,   689,   691,
-     695,   696,   701,   706,   709,   711,   713,   722,   724,   735,
-     736,   738,   742,   743,   748,   749,   754,   755,   759,   764,
+     695,   696,   701,   706,   709,   711,   713,   723,   725,   736,
+     737,   739,   743,   744,   748,   749,   754,   755,   759,   764,
      765,   769,   771,   777,   778,   782,   784,   786,   788,   794,
      795,   799,   801,   806,   808,   810,   815,   817,   822,   824,
@@ -6009,5 +6009,6 @@
 			// *before* the transfer to the appropriate case clause by hoisting the declarations into a compound
 			// statement around the switch.  Statements after the initial declaration list can never be executed, and
-			// therefore, are removed from the grammar even though C allows it. Change also applies to choose statement.
+			// therefore, are removed from the grammar even though C allows it. The change also applies to choose
+			// statement.
 			(yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new CompoundStmtNode( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_link( sw )) ) : sw;
 		}
@@ -6017,5 +6018,5 @@
 
 /* Line 1806 of yacc.c  */
-#line 723 "parser.yy"
+#line 724 "parser.yy"
     { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
     break;
@@ -6024,5 +6025,5 @@
 
 /* Line 1806 of yacc.c  */
-#line 725 "parser.yy"
+#line 726 "parser.yy"
     {
 			StatementNode *sw = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) );
@@ -6034,5 +6035,5 @@
 
 /* Line 1806 of yacc.c  */
-#line 735 "parser.yy"
+#line 736 "parser.yy"
     { (yyval.en) = (yyvsp[(1) - (1)].en); }
     break;
@@ -6041,13 +6042,20 @@
 
 /* Line 1806 of yacc.c  */
-#line 737 "parser.yy"
+#line 738 "parser.yy"
     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     break;
 
+  case 162:
+
+/* Line 1806 of yacc.c  */
+#line 743 "parser.yy"
+    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(1) - (1)].en), 0 ); }
+    break;
+
   case 163:
 
 /* Line 1806 of yacc.c  */
 #line 744 "parser.yy"
-    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
+    { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_link( new StatementNode( StatementNode::Case, (yyvsp[(3) - (3)].en), 0 ) ) ); }
     break;
 
@@ -6056,5 +6064,5 @@
 /* Line 1806 of yacc.c  */
 #line 748 "parser.yy"
-    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
+    { (yyval.sn) = (yyvsp[(2) - (3)].sn); }
     break;
 
@@ -9417,5 +9425,5 @@
 
 /* Line 1806 of yacc.c  */
-#line 9420 "Parser/parser.cc"
+#line 9428 "Parser/parser.cc"
       default: break;
     }
Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision 00c32e9ad9ec53166ebb45c58638f0f5d834758d)
+++ src/Parser/parser.yy	(revision cf37a8e2bea1a15cdb9bb1103d1209ee8e54f2c3)
@@ -10,6 +10,6 @@
 // Created On       : Sat Sep  1 20:22:55 2001
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jul 23 17:01:30 2016
-// Update Count     : 1668
+// Last Modified On : Thu Aug  4 11:28:18 2016
+// Update Count     : 1672
 //
 
@@ -150,6 +150,6 @@
 %type<sn> block_item_list				block_item
 %type<sn> case_clause
-%type<en> case_value					case_value_list
-%type<sn> case_label					case_label_list
+%type<en> case_value
+%type<sn> case_value_list				case_label					case_label_list
 %type<sn> switch_clause_list_opt		switch_clause_list			choose_clause_list_opt		choose_clause_list
 %type<pn> handler_list					handler_clause				finally_clause
@@ -717,5 +717,6 @@
 			// *before* the transfer to the appropriate case clause by hoisting the declarations into a compound
 			// statement around the switch.  Statements after the initial declaration list can never be executed, and
-			// therefore, are removed from the grammar even though C allows it. Change also applies to choose statement.
+			// therefore, are removed from the grammar even though C allows it. The change also applies to choose
+			// statement.
 			$$ = $7 != 0 ? new CompoundStmtNode( (StatementNode *)((new StatementNode( $7 ))->set_link( sw )) ) : sw;
 		}
@@ -740,11 +741,10 @@
 
 case_value_list:										// CFA
-	case_value
-	| case_value_list ',' case_value
-		{ $$ = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( $1 ))->set_link( $3 ) ); }
+	case_value									{ $$ = new StatementNode( StatementNode::Case, $1, 0 ); }
+	| case_value_list ',' case_value			{ $$ = (StatementNode *)($1->set_link( new StatementNode( StatementNode::Case, $3, 0 ) ) ); }
 	;
 
 case_label:												// CFA
-	CASE case_value_list ':'					{ $$ = new StatementNode( StatementNode::Case, $2, 0 ); }
+	CASE case_value_list ':'					{ $$ = $2; }
 	| DEFAULT ':'								{ $$ = new StatementNode( StatementNode::Default ); }
 		// A semantic check is required to ensure only one default clause per switch/choose statement.
