anchor.diff:  assign_stmnt	: copy_assign_stmnt
   				| modify_assign_stmnt
   				| post_operator_stmnt;
  +
  +proc_call_stmnt: proc_call;
   
   // ASSIGN STATEMENTS
   copy_assign_stmnt:		var_name (',' var_name)* ':=' expr;
  
positive.code: bracket_expr:		'(' expr ')';
  cast_expr: 			'(' type_denoter ')' value_expr;
  call_expr:			proc_call;
  unary_expr:			('~' | '-' | 'not') value_expr;
  
  proc_call:			var_name '(' arg_list? ')';
  member_proc_call:	'.' IDENT '(' arg_list? ')';
  
  // TYPE DENOTERS
  type_denoter			: builtin_type_denoter
  
negative.code: return_stmnt:	'return' expr?;
  
  // LOOP STATEMENTS
  for_stmnt:			'for' var_name_stmnt? ';' expr? ';' assign_stmnt? code_block;
  for_range_stmnt:	'for' IDENT ':' for_range '..' for_range ('->' INT_LITERAL)? code_block;
  for_each_stmnt:		'foreach' var_decl_stmnt ':' expr code_block;
  for_ever_stmnt:		'forever' code_block;
  for_range:			NEGATION? INT_LITERAL;
  while_stmnt:		'while' expr code_block;
  do_while_stmnt:		'do' code_block 'while' expr;
  
  // ATTRIBUTES
  attrib_prefix:		'[[' attrib_list ']]';
  