Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision 1213f21e0f47bb14b2b8af1e26f54df3b0d50533)
+++ src/Parser/parser.yy	(revision 13e8427b41e29d52c2ff676adeeabbb22b910b3a)
@@ -10,6 +10,6 @@
 // Created On       : Sat Sep  1 20:22:55 2001
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun May 27 12:01:51 2018
-// Update Count     : 3373
+// Last Modified On : Mon May 28 17:01:36 2018
+// Update Count     : 3383
 //
 
@@ -835,5 +835,5 @@
 //	'[' ']'
 //		{ $$ = new ExpressionNode( build_tuple() ); }
-//	'[' push assignment_expression pop ']'
+//	| '[' push assignment_expression pop ']'
 //		{ $$ = new ExpressionNode( build_tuple( $3 ) ); }
 	'[' push ',' tuple_expression_list pop ']'
@@ -2209,7 +2209,7 @@
 	'|' no_attr_identifier_or_type_name '(' type_list ')'
 		{ $$ = DeclarationNode::newTraitUse( $2, $4 ); }
-	| '|' '{' push trait_declaration_list '}'
+	| '|' '{' push trait_declaration_list pop '}'
 		{ $$ = $4; }
-	| '|' '(' push type_parameter_list pop ')' '{' push trait_declaration_list '}' '(' type_list ')'
+	| '|' '(' push type_parameter_list pop ')' '{' push trait_declaration_list pop '}' '(' type_list ')'
 		{ SemanticError( yylloc, "Generic data-type assertion is currently unimplemented." ); $$ = nullptr; }
 	;
@@ -2257,5 +2257,5 @@
 	TRAIT no_attr_identifier_or_type_name '(' push type_parameter_list pop ')' '{' '}'
 		{ $$ = DeclarationNode::newTrait( $2, $5, 0 ); }
-	| TRAIT no_attr_identifier_or_type_name '(' push type_parameter_list pop ')' '{' push trait_declaration_list '}'
+	| TRAIT no_attr_identifier_or_type_name '(' push type_parameter_list pop ')' '{' push trait_declaration_list pop '}'
 		{ $$ = DeclarationNode::newTrait( $2, $5, $10 ); }
 	;
@@ -2263,11 +2263,11 @@
 trait_declaration_list:									// CFA
 	trait_declaration
-	| trait_declaration_list push trait_declaration
-		{ $$ = $1->appendList( $3 ); }
+	| trait_declaration_list pop push trait_declaration
+		{ $$ = $1->appendList( $4 ); }
 	;
 
 trait_declaration:										// CFA
-	cfa_trait_declaring_list pop ';'
-	| trait_declaring_list pop ';'
+	cfa_trait_declaring_list ';'
+	| trait_declaring_list ';'
 	;
 
@@ -2974,10 +2974,10 @@
 	'[' ']'
 		{ $$ = DeclarationNode::newArray( 0, 0, false ); }
-	// multi_array_dimension handles the '[' '*' ']' case
+		// multi_array_dimension handles the '[' '*' ']' case
 	| '[' push type_qualifier_list '*' pop ']'			// remaining C99
 		{ $$ = DeclarationNode::newVarArray( $3 ); }
 	| '[' push type_qualifier_list pop ']'
 		{ $$ = DeclarationNode::newArray( 0, $3, false ); }
-	// multi_array_dimension handles the '[' assignment_expression ']' case
+		// multi_array_dimension handles the '[' assignment_expression ']' case
 	| '[' push type_qualifier_list assignment_expression pop ']'
 		{ $$ = DeclarationNode::newArray( $4, $3, false ); }
@@ -3174,4 +3174,8 @@
 	'[' push cfa_abstract_parameter_list pop ']'
 		{ $$ = DeclarationNode::newTuple( $3 ); }
+	| '[' push type_specifier_nobody ELLIPSIS ']'
+		{ SemanticError( yylloc, "Tuple array currently unimplemented." ); $$ = nullptr; }
+	| '[' push type_specifier_nobody ELLIPSIS constant_expression ']'
+		{ SemanticError( yylloc, "Tuple array currently unimplemented." ); $$ = nullptr; }
 	;
 
