anchor.diff:  object_expr			: variable_name
   					| new_expr;
   
  -new_expr:			'new' type_denoter (array_dimension | constructor_init)?;
  +new_expr:			'new' data_type_denoter (array_dimension | constructor_init)?;
   array_dimension:	'[' arithmetic_expr ']';
   constructor_init:	'(' argument_list? ')';
   
   literal_expr:		LITERAL;
   bracket_expr:		'(' arithmetic_expr ')';
  -cast_expr: 			'(' type_denoter ')' value_expr;
  +cast_expr: 			'(' data_type_denoter ')' value_expr;
   call_expr:			function_call;
   unary_expr:			('~' | '-' | 'not') value_expr;
   
  
positive.code: class_decl_stmnt:			intern_class_decl_stmnt | extern_class_decl_stmnt;
  intern_class_decl_stmnt:	'class' class_name type_inheritance? class_body;
  extern_class_decl_stmnt:	'extern' 'class' class_name extern_class_body;
  class_body:					'{' decl_stmnt_list? '}';
  extern_class_body:			'{' extern_decl_stmnt_list? '}';
  class_name:					IDENT;
  
  
negative.code: argument:			(expr | variable_ident ':' expr);
  
  // TYPE DENOTERS
  data_type_denoter	: builtin_type_denoter
  					| array_type_denoter
  					| class_type_denoter;
  
  builtin_type_denoter	: BOOL_TYPE_DENOTER
  						| INT_TYPE_DENOTER
  						| FLOAT_TYPE_DENOTER;
  
  return_type_denoter	: VOID_TYPE_DENOTER
  					| data_type_denoter;
  
  array_type_denoter:		data_type_denoter '[]';
  
  class_type_denoter:		variable_name;
  
  VOID_TYPE_DENOTER:		'void';
  BOOL_TYPE_DENOTER:		'bool';
  INT_TYPE_DENOTER:		'int';
  FLOAT_TYPE_DENOTER:		'float';
  