Index: src/Parser/lex.ll
===================================================================
--- src/Parser/lex.ll	(revision 7812f1d1e296114908bf2f4a415ad4d71e90af30)
+++ src/Parser/lex.ll	(revision 8b47e50537b2c9fbfcba7eea4459e2286c474e5c)
@@ -10,6 +10,6 @@
  * Created On       : Sat Sep 22 08:58:10 2001
  * Last Modified By : Peter A. Buhr
- * Last Modified On : Tue Jul 11 21:30:51 2017
- * Update Count     : 534
+ * Last Modified On : Wed Jul 12 18:04:44 2017
+ * Update Count     : 535
  */
 
@@ -274,4 +274,5 @@
 __volatile__	{ KEYWORD_RETURN(VOLATILE); }			// GCC
 while			{ KEYWORD_RETURN(WHILE); }
+with			{ KEYWORD_RETURN(WITH); }				// CFA
 zero_t			{ NUMERIC_RETURN(ZERO_T); }				// CFA
 
Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision 7812f1d1e296114908bf2f4a415ad4d71e90af30)
+++ src/Parser/parser.yy	(revision 8b47e50537b2c9fbfcba7eea4459e2286c474e5c)
@@ -9,7 +9,7 @@
 // Author           : Peter A. Buhr
 // Created On       : Sat Sep  1 20:22:55 2001
-// Last Modified By : Andrew Beach
-// Last Modified On : Tus Jul 11 13:39:00 2017
-// Update Count     : 2416
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Wed Jul 12 18:23:36 2017
+// Update Count     : 2426
 //
 
@@ -129,5 +129,5 @@
 %token ATTRIBUTE EXTENSION								// GCC
 %token IF ELSE SWITCH CASE DEFAULT DO WHILE FOR BREAK CONTINUE GOTO RETURN
-%token CHOOSE DISABLE ENABLE FALLTHRU TRY CATCH CATCHRESUME FINALLY THROW THROWRESUME AT	// CFA
+%token CHOOSE DISABLE ENABLE FALLTHRU TRY CATCH CATCHRESUME FINALLY THROW THROWRESUME AT WITH	// CFA
 %token ASM												// C99, extension ISO/IEC 9899:1999 Section J.5.10(1)
 %token ALIGNAS ALIGNOF GENERIC STATICASSERT				// C11
@@ -184,11 +184,12 @@
 // statements
 %type<sn> labeled_statement				compound_statement			expression_statement		selection_statement
-%type<sn> iteration_statement			jump_statement				exception_statement			asm_statement
+%type<sn> iteration_statement			jump_statement
+%type<sn> with_statement				exception_statement			asm_statement
 %type<sn> fall_through_opt				fall_through
 %type<sn> statement						statement_list
 %type<sn> block_item_list				block_item
-%type<sn> case_clause
+%type<sn> with_clause_opt
 %type<en> case_value
-%type<sn> case_value_list				case_label					case_label_list
+%type<sn> case_clause					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<sn> /* handler_list */			handler_clause				finally_clause
@@ -729,4 +730,5 @@
 	| iteration_statement
 	| jump_statement
+	| with_statement
 	| exception_statement
 	| asm_statement
@@ -934,4 +936,9 @@
 	| THROWRESUME assignment_expression_opt AT assignment_expression ';' // handles reresume
 		{ $$ = new StatementNode( build_resume_at( $2, $4 ) ); }
+	;
+
+with_statement:
+	WITH identifier_list compound_statement
+		{ $$ = (StatementNode *)0; }					// FIX ME
 	;
 
@@ -2212,62 +2219,69 @@
 	;
 
+with_clause_opt:
+	// empty
+		{ $$ = (StatementNode *)0; }					// FIX ME
+	| WITH identifier_list
+		{ $$ = (StatementNode *)0; }					// FIX ME
+	;
+
 function_definition:
-	cfa_function_declaration compound_statement			// CFA
+	cfa_function_declaration with_clause_opt compound_statement	// CFA
 		{
 			typedefTable.addToEnclosingScope( TypedefTable::ID );
 			typedefTable.leaveScope();
-			$$ = $1->addFunctionBody( $2 );
-		}
-	| declaration_specifier function_declarator compound_statement
+			$$ = $1->addFunctionBody( $3 );
+		}
+	| declaration_specifier function_declarator with_clause_opt compound_statement
 		{
 			typedefTable.addToEnclosingScope( TypedefTable::ID );
 			typedefTable.leaveScope();
-			$$ = $2->addFunctionBody( $3 )->addType( $1 );
-		}
-	| type_qualifier_list function_declarator compound_statement
+			$$ = $2->addFunctionBody( $4 )->addType( $1 );
+		}
+	| type_qualifier_list function_declarator with_clause_opt compound_statement
 		{
 			typedefTable.addToEnclosingScope( TypedefTable::ID );
 			typedefTable.leaveScope();
-			$$ = $2->addFunctionBody( $3 )->addQualifiers( $1 );
-		}
-	| declaration_qualifier_list function_declarator compound_statement
+			$$ = $2->addFunctionBody( $4 )->addQualifiers( $1 );
+		}
+	| declaration_qualifier_list function_declarator with_clause_opt compound_statement
 		{
 			typedefTable.addToEnclosingScope( TypedefTable::ID );
 			typedefTable.leaveScope();
-			$$ = $2->addFunctionBody( $3 )->addQualifiers( $1 );
-		}
-	| declaration_qualifier_list type_qualifier_list function_declarator compound_statement
+			$$ = $2->addFunctionBody( $4 )->addQualifiers( $1 );
+		}
+	| declaration_qualifier_list type_qualifier_list function_declarator with_clause_opt compound_statement
 		{
 			typedefTable.addToEnclosingScope( TypedefTable::ID );
 			typedefTable.leaveScope();
-			$$ = $3->addFunctionBody( $4 )->addQualifiers( $2 )->addQualifiers( $1 );
+			$$ = $3->addFunctionBody( $5 )->addQualifiers( $2 )->addQualifiers( $1 );
 		}
 
 		// Old-style K&R function definition, OBSOLESCENT (see 4)
-	| declaration_specifier KR_function_declarator push KR_declaration_list_opt compound_statement
+	| declaration_specifier KR_function_declarator push KR_declaration_list_opt with_clause_opt compound_statement
 		{
 			typedefTable.addToEnclosingScope( TypedefTable::ID );
 			typedefTable.leaveScope();
-			$$ = $2->addOldDeclList( $4 )->addFunctionBody( $5 )->addType( $1 );
-		}
-	| type_qualifier_list KR_function_declarator push KR_declaration_list_opt compound_statement
+			$$ = $2->addOldDeclList( $4 )->addFunctionBody( $6 )->addType( $1 );
+		}
+	| type_qualifier_list KR_function_declarator push KR_declaration_list_opt with_clause_opt compound_statement
 		{
 			typedefTable.addToEnclosingScope( TypedefTable::ID );
 			typedefTable.leaveScope();
-			$$ = $2->addOldDeclList( $4 )->addFunctionBody( $5 )->addQualifiers( $1 );
+			$$ = $2->addOldDeclList( $4 )->addFunctionBody( $6 )->addQualifiers( $1 );
 		}
 
 		// Old-style K&R function definition with "implicit int" type_specifier, OBSOLESCENT (see 4)
-	| declaration_qualifier_list KR_function_declarator push KR_declaration_list_opt compound_statement
+	| declaration_qualifier_list KR_function_declarator push KR_declaration_list_opt with_clause_opt compound_statement
 		{
 			typedefTable.addToEnclosingScope( TypedefTable::ID );
 			typedefTable.leaveScope();
-			$$ = $2->addOldDeclList( $4 )->addFunctionBody( $5 )->addQualifiers( $1 );
-		}
-	| declaration_qualifier_list type_qualifier_list KR_function_declarator push KR_declaration_list_opt compound_statement
+			$$ = $2->addOldDeclList( $4 )->addFunctionBody( $6 )->addQualifiers( $1 );
+		}
+	| declaration_qualifier_list type_qualifier_list KR_function_declarator push KR_declaration_list_opt with_clause_opt compound_statement
 		{
 			typedefTable.addToEnclosingScope( TypedefTable::ID );
 			typedefTable.leaveScope();
-			$$ = $3->addOldDeclList( $5 )->addFunctionBody( $6 )->addQualifiers( $2 )->addQualifiers( $1 );
+			$$ = $3->addOldDeclList( $5 )->addFunctionBody( $7 )->addQualifiers( $2 )->addQualifiers( $1 );
 		}
 	;
