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: return_stmnt:	'return' expr?;
  
  // LOOP STATEMENTS
  for_stmnt:			'for' for_init? ';' expr? ';' assign_stmnt? code_block;
  for_range_stmnt:	'for' IDENT ':' for_range '..' for_range ('->' INT_LITERAL)? code_block;
  for_each_stmnt:		'foreach' for_each_init ':' expr code_block;
  for_ever_stmnt:		'forever' code_block;
  while_stmnt:		'while' expr code_block;
  do_while_stmnt:		'do' code_block 'while' expr;
  
  for_init:			var_decl_stmnt | assign_stmnt;
  for_each_init:		var_decl_stmnt;
  for_range:			NEGATION? INT_LITERAL;
  
  // ATTRIBUTES
  attrib_prefix:		'[[' attrib_list ']]';
  
negative.code: attrib_arg:			expr;
  
  // VARIABLES
  var_name:			IDENT array_access? ('.' var_name)?;
  
  var_decl_stmnt:		type_denoter var_decl_list;
  var_decl_list:		var_decl (',' var_decl)*;
  