Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision 91cfa346bfd0f46a8eedd3b24096e1bf310eded8)
+++ src/Parser/parser.yy	(revision 40de4613e8e08a01b3439805d4c7fc2f61604d35)
@@ -10,6 +10,6 @@
 // Created On       : Sat Sep  1 20:22:55 2001
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu May 24 18:11:59 2018
-// Update Count     : 3369
+// Last Modified On : Sun May 27 12:01:51 2018
+// Update Count     : 3373
 //
 
@@ -324,5 +324,5 @@
 %type<decl> cfa_identifier_parameter_declarator_tuple cfa_identifier_parameter_ptr
 
-%type<decl> cfa_parameter_declaration cfa_parameter_list cfa_parameter_type_list_opt
+%type<decl> cfa_parameter_declaration cfa_parameter_list cfa_parameter_ellipsis_list_opt
 
 %type<decl> cfa_typedef_declaration cfa_variable_declaration cfa_variable_specifier
@@ -1364,24 +1364,24 @@
 	| declaration_qualifier_list type_qualifier_list cfa_function_specifier
 		{ $$ = $3->addQualifiers( $1 )->addQualifiers( $2 ); }
-	| cfa_function_declaration ',' identifier_or_type_name '(' cfa_parameter_type_list_opt ')'
+	| cfa_function_declaration ',' identifier_or_type_name '(' push cfa_parameter_ellipsis_list_opt pop ')'
 		{
 			// Append the return type at the start (left-hand-side) to each identifier in the list.
 			DeclarationNode * ret = new DeclarationNode;
 			ret->type = maybeClone( $1->type->base );
-			$$ = $1->appendList( DeclarationNode::newFunction( $3, ret, $5, nullptr ) );
+			$$ = $1->appendList( DeclarationNode::newFunction( $3, ret, $6, nullptr ) );
 		}
 	;
 
 cfa_function_specifier:									// CFA
-//	'[' ']' identifier_or_type_name '(' push cfa_parameter_type_list_opt pop ')' // S/R conflict
+//	'[' ']' identifier_or_type_name '(' push cfa_parameter_ellipsis_list_opt pop ')' // S/R conflict
 //		{
 //			$$ = DeclarationNode::newFunction( $3, DeclarationNode::newTuple( 0 ), $6, 0, true );
 //		}
-//	'[' ']' identifier '(' push cfa_parameter_type_list_opt pop ')'
+//	'[' ']' identifier '(' push cfa_parameter_ellipsis_list_opt pop ')'
 //		{
 //			typedefTable.setNextIdentifier( *$5 );
 //			$$ = DeclarationNode::newFunction( $5, DeclarationNode::newTuple( 0 ), $8, 0, true );
 //		}
-//	| '[' ']' TYPEDEFname '(' push cfa_parameter_type_list_opt pop ')'
+//	| '[' ']' TYPEDEFname '(' push cfa_parameter_ellipsis_list_opt pop ')'
 //		{
 //			typedefTable.setNextIdentifier( *$5 );
@@ -1391,13 +1391,13 @@
 		// identifier_or_type_name must be broken apart because of the sequence:
 		//
-		//   '[' ']' identifier_or_type_name '(' cfa_parameter_type_list_opt ')'
+		//   '[' ']' identifier_or_type_name '(' cfa_parameter_ellipsis_list_opt ')'
 		//   '[' ']' type_specifier
 		//
 		// type_specifier can resolve to just TYPEDEFname (e.g., typedef int T; int f( T );). Therefore this must be
 		// flattened to allow lookahead to the '(' without having to reduce identifier_or_type_name.
-	cfa_abstract_tuple identifier_or_type_name '(' push cfa_parameter_type_list_opt pop ')'
+	cfa_abstract_tuple identifier_or_type_name '(' push cfa_parameter_ellipsis_list_opt pop ')'
 		// To obtain LR(1 ), this rule must be factored out from function return type (see cfa_abstract_declarator).
 		{ $$ = DeclarationNode::newFunction( $2, $1, $5, 0 ); }
-	| cfa_function_return identifier_or_type_name '(' push cfa_parameter_type_list_opt pop ')'
+	| cfa_function_return identifier_or_type_name '(' push cfa_parameter_ellipsis_list_opt pop ')'
 		{ $$ = DeclarationNode::newFunction( $2, $1, $5, 0 ); }
 	;
@@ -1951,5 +1951,5 @@
 	;
 
-cfa_parameter_type_list_opt:							// CFA, abstract + real
+cfa_parameter_ellipsis_list_opt:							// CFA, abstract + real
 	// empty
 		{ $$ = DeclarationNode::newBasicType( DeclarationNode::Void ); }
@@ -3115,5 +3115,5 @@
 //
 //		cfa_abstract_tuple identifier_or_type_name
-//		'[' cfa_parameter_list ']' identifier_or_type_name '(' cfa_parameter_type_list_opt ')'
+//		'[' cfa_parameter_list ']' identifier_or_type_name '(' cfa_parameter_ellipsis_list_opt ')'
 //
 // since a function return type can be syntactically identical to a tuple type:
@@ -3177,9 +3177,9 @@
 
 cfa_abstract_function:									// CFA
-//	'[' ']' '(' cfa_parameter_type_list_opt ')'
+//	'[' ']' '(' cfa_parameter_ellipsis_list_opt ')'
 //		{ $$ = DeclarationNode::newFunction( nullptr, DeclarationNode::newTuple( nullptr ), $4, nullptr ); }
-	cfa_abstract_tuple '(' push cfa_parameter_type_list_opt pop ')'
+	cfa_abstract_tuple '(' push cfa_parameter_ellipsis_list_opt pop ')'
 		{ $$ = DeclarationNode::newFunction( nullptr, $1, $4, nullptr ); }
-	| cfa_function_return '(' push cfa_parameter_type_list_opt pop ')'
+	| cfa_function_return '(' push cfa_parameter_ellipsis_list_opt pop ')'
 		{ $$ = DeclarationNode::newFunction( nullptr, $1, $4, nullptr ); }
 	;
