anchor.diff:  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? '}';
  +class_body:					'{' (class_visibility? decl_stmnt_list?)* '}';
  +class_visibility:			class_visibility_type ':';
  +class_visibility_type:		'public' | 'private';
   extern_class_body:			'{' extern_decl_stmnt_list? '}';
   class_name:					IDENT;
   
  
positive.code: variable_name:		variable_ident array_access_list? ('.' variable_name)?;
  variable_ident:		IDENT;
  
  variable_decl_stmnt:		type_denoter IDENT variable_init? (',' IDENT variable_init?)*;
  variable_init:				':=' expr;
  
  // ARRAYS
  
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';
  