Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision 43725bdbb8602ec2e606640db4c5a19957b82476)
+++ src/Parser/parser.yy	(revision fae90d5f4e6f14db5c582aeb2a6ec9c0dbc21e73)
@@ -10,6 +10,6 @@
 // Created On       : Sat Sep  1 20:22:55 2001
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Mar 22 16:56:21 2018
-// Update Count     : 3125
+// Last Modified On : Wed Mar 28 17:52:24 2018
+// Update Count     : 3130
 //
 
@@ -497,9 +497,9 @@
 		{ $$ = new ExpressionNode( build_func( new ExpressionNode( build_postfix_name( $5 ) ), $2 ) ); }
 	| type_name '.' no_attr_identifier					// CFA, nested type
-		{ SemanticError( yylloc, "Qualified names are currently unimplemented." ); $$ = nullptr; } // FIX ME
+		{ SemanticError( yylloc, "Qualified names are currently unimplemented." ); $$ = nullptr; }
 	| type_name '.' '[' push field_list pop ']'			// CFA, nested type / tuple field selector
-		{ SemanticError( yylloc, "Qualified names are currently unimplemented." ); $$ = nullptr; } // FIX ME
+		{ SemanticError( yylloc, "Qualified names are currently unimplemented." ); $$ = nullptr; }
 	| GENERIC '(' assignment_expression ',' generic_assoc_list ')' // C11
-		{ SemanticError( yylloc, "_Generic is currently unimplemented." ); $$ = nullptr; } // FIX ME
+		{ SemanticError( yylloc, "_Generic is currently unimplemented." ); $$ = nullptr; }
 	;
 
@@ -687,8 +687,14 @@
 	| '(' type_no_function ')' cast_expression
 		{ $$ = new ExpressionNode( build_cast( $2, $4 ) ); }
+	| '(' COROUTINE '&' ')' cast_expression				// CFA
+		{ SemanticError( yylloc, "coroutine cast is currently unimplemented." ); $$ = nullptr; }
+	| '(' THREAD '&' ')' cast_expression				// CFA
+		{ SemanticError( yylloc, "monitor cast is currently unimplemented." ); $$ = nullptr; }
+	| '(' MONITOR '&' ')' cast_expression				// CFA
+		{ SemanticError( yylloc, "thread cast is currently unimplemented." ); $$ = nullptr; }
 		// VIRTUAL cannot be opt because of look ahead issues
-	| '(' VIRTUAL ')' cast_expression
+	| '(' VIRTUAL ')' cast_expression					// CFA
 		{ $$ = new ExpressionNode( new VirtualCastExpr( maybeMoveBuild< Expression >( $4 ), maybeMoveBuildType( nullptr ) ) ); }
-	| '(' VIRTUAL type_no_function ')' cast_expression
+	| '(' VIRTUAL type_no_function ')' cast_expression	// CFA
 		{ $$ = new ExpressionNode( new VirtualCastExpr( maybeMoveBuild< Expression >( $5 ), maybeMoveBuildType( $3 ) ) ); }
 //	| '(' type_no_function ')' tuple
@@ -782,5 +788,5 @@
 	| logical_OR_expression '?' comma_expression ':' conditional_expression
 		{ $$ = new ExpressionNode( build_cond( $1, $3, $5 ) ); }
-		// FIX ME: this hack computes $1 twice
+		// FIX ME: computes $1 twice
 	| logical_OR_expression '?' /* empty */ ':' conditional_expression // GCC, omitted first operand
 		{ $$ = new ExpressionNode( build_cond( $1, $1, $4 ) ); }
@@ -797,5 +803,5 @@
 		{ $$ = new ExpressionNode( build_binary_val( $2, $1, $3 ) ); }
 	| unary_expression '=' '{' initializer_list comma_opt '}'
-		{ SemanticError( yylloc, "Initializer assignment is currently unimplemented." ); $$ = nullptr; } // FIX ME
+		{ SemanticError( yylloc, "Initializer assignment is currently unimplemented." ); $$ = nullptr; }
 	;
 
@@ -867,5 +873,5 @@
 	| exception_statement
 	| enable_disable_statement
-		{ SemanticError( yylloc, "enable/disable statement is currently unimplemented." ); $$ = nullptr; } // FIX ME
+		{ SemanticError( yylloc, "enable/disable statement is currently unimplemented." ); $$ = nullptr; }
 	| asm_statement
 	;
@@ -1062,5 +1068,5 @@
 		{ $$ = new StatementNode( build_return( $2 ) ); }
 	| RETURN '{' initializer_list comma_opt '}'
-		{ SemanticError( yylloc, "Initializer return is currently unimplemented." ); $$ = nullptr; } // FIX ME
+		{ SemanticError( yylloc, "Initializer return is currently unimplemented." ); $$ = nullptr; }
 	| THROW assignment_expression_opt ';'				// handles rethrow
 		{ $$ = new StatementNode( build_throw( $2 ) ); }
@@ -1086,5 +1092,5 @@
 mutex_statement:
 	MUTEX '(' argument_expression_list ')' statement
-		{ SemanticError( yylloc, "Mutex statement is currently unimplemented." ); $$ = nullptr; } // FIX ME
+		{ SemanticError( yylloc, "Mutex statement is currently unimplemented." ); $$ = nullptr; }
 	;
 
@@ -1308,5 +1314,5 @@
 static_assert:
 	STATICASSERT '(' constant_expression ',' string_literal ')' ';' // C11
-		{ SemanticError( yylloc, "Static assert is currently unimplemented." ); $$ = nullptr; }	// FIX ME
+		{ SemanticError( yylloc, "Static assert is currently unimplemented." ); $$ = nullptr; }
 
 // C declaration syntax is notoriously confusing and error prone. Cforall provides its own type, variable and function
