Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision 90c3b1c9b36943edd6040aac93c3da9265b218a4)
+++ src/Parser/parser.yy	(revision 40404257da8f22441f6123bdbff37bdb54e0e5f3)
@@ -10,6 +10,6 @@
 // Created On       : Sat Sep  1 20:22:55 2001
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Feb 28 11:49:18 2016
-// Update Count     : 1492
+// Last Modified On : Wed Mar  2 17:24:45 2016
+// Update Count     : 1495
 // 
 
@@ -78,5 +78,5 @@
 %token TYPEOF LABEL										// GCC
 %token ENUM STRUCT UNION
-%token TYPE FTYPE DTYPE CONTEXT							// CFA
+%token OTYPE FTYPE DTYPE TRAIT						// CFA
 %token SIZEOF OFFSETOF
 %token ATTRIBUTE EXTENSION								// GCC
@@ -172,5 +172,5 @@
 %type<decl> basic_declaration_specifier basic_type_name basic_type_specifier direct_type_name indirect_type_name
 
-%type<decl> context_declaration context_declaration_list context_declaring_list context_specifier
+%type<decl> trait_declaration trait_declaration_list trait_declaring_list trait_specifier
 
 %type<decl> declaration declaration_list declaration_list_opt declaration_qualifier_list
@@ -198,5 +198,5 @@
 %type<decl> new_array_parameter_1st_dimension
 
-%type<decl> new_context_declaring_list new_declaration new_field_declaring_list
+%type<decl> new_trait_declaring_list new_declaration new_field_declaring_list
 %type<decl> new_function_declaration new_function_return new_function_specifier
 
@@ -1021,5 +1021,5 @@
 	| new_function_declaration pop ';'
 	| type_declaring_list pop ';'
-	| context_specifier pop ';'
+	| trait_specifier pop ';'
 	;
 
@@ -1806,5 +1806,5 @@
 
 type_class:												// CFA
-	TYPE
+	OTYPE
 		{ $$ = DeclarationNode::Type; }
 	| DTYPE
@@ -1824,10 +1824,10 @@
 	'|' no_attr_identifier_or_type_name '(' type_name_list ')'
 		{
-			typedefTable.openContext( *$2 );
-			$$ = DeclarationNode::newContextUse( $2, $4 );
-		}
-	| '|' '{' push context_declaration_list '}'
+			typedefTable.openTrait( *$2 );
+			$$ = DeclarationNode::newTraitUse( $2, $4 );
+		}
+	| '|' '{' push trait_declaration_list '}'
 		{ $$ = $4; }
-	| '|' '(' push type_parameter_list pop ')' '{' push context_declaration_list '}' '(' type_name_list ')'
+	| '|' '(' push type_parameter_list pop ')' '{' push trait_declaration_list '}' '(' type_name_list ')'
 		{ $$ = 0; }
 	;
@@ -1844,7 +1844,7 @@
 
 type_declaring_list:									// CFA
-	TYPE type_declarator
-		{ $$ = $2; }
-	| storage_class_list TYPE type_declarator
+	OTYPE type_declarator
+		{ $$ = $2; }
+	| storage_class_list OTYPE type_declarator
 		{ $$ = $3->addQualifiers( $1 ); }
 	| type_declaring_list ',' type_declarator
@@ -1872,35 +1872,35 @@
 	;
 
-context_specifier:										// CFA
-	CONTEXT no_attr_identifier_or_type_name '(' push type_parameter_list pop ')' '{' '}'
+trait_specifier:										// CFA
+	TRAIT no_attr_identifier_or_type_name '(' push type_parameter_list pop ')' '{' '}'
 		{
 			typedefTable.addToEnclosingScope( *$2, TypedefTable::ID );
-			$$ = DeclarationNode::newContext( $2, $5, 0 );
-		}
-	| CONTEXT no_attr_identifier_or_type_name '(' push type_parameter_list pop ')' '{'
-		{
-			typedefTable.enterContext( *$2 );
+			$$ = DeclarationNode::newTrait( $2, $5, 0 );
+		}
+	| TRAIT no_attr_identifier_or_type_name '(' push type_parameter_list pop ')' '{'
+		{
+			typedefTable.enterTrait( *$2 );
 			typedefTable.enterScope();
 		}
-	  context_declaration_list '}'
-		{
-			typedefTable.leaveContext();
+	  trait_declaration_list '}'
+		{
+			typedefTable.leaveTrait();
 			typedefTable.addToEnclosingScope( *$2, TypedefTable::ID );
-			$$ = DeclarationNode::newContext( $2, $5, $10 );
-		}
-	;
-
-context_declaration_list:								// CFA
-	context_declaration
-	| context_declaration_list push context_declaration
+			$$ = DeclarationNode::newTrait( $2, $5, $10 );
+		}
+	;
+
+trait_declaration_list:								// CFA
+	trait_declaration
+	| trait_declaration_list push trait_declaration
 		{ $$ = $1->appendList( $3 ); }
 	;
 
-context_declaration:									// CFA
-	new_context_declaring_list pop ';'
-	| context_declaring_list pop ';'
-	;
-
-new_context_declaring_list:								// CFA
+trait_declaration:									// CFA
+	new_trait_declaring_list pop ';'
+	| trait_declaring_list pop ';'
+	;
+
+new_trait_declaring_list:								// CFA
 	new_variable_specifier
 		{
@@ -1913,5 +1913,5 @@
 			$$ = $1;
 		}
-	| new_context_declaring_list pop ',' push identifier_or_type_name
+	| new_trait_declaring_list pop ',' push identifier_or_type_name
 		{
 			typedefTable.addToEnclosingScope2( *$5, TypedefTable::ID );
@@ -1920,5 +1920,5 @@
 	;
 
-context_declaring_list:									// CFA
+trait_declaring_list:									// CFA
 	type_specifier declarator
 		{
@@ -1926,5 +1926,5 @@
 			$$ = $2->addType( $1 );
 		}
-	| context_declaring_list pop ',' push declarator
+	| trait_declaring_list pop ',' push declarator
 		{
 			typedefTable.addToEnclosingScope2( TypedefTable::ID );
