anchor.diff:  
   arithm_variable
   	:	arithm_constant
  -	|	(NEGATIVE)? BRACKET_OPEN arithm_constant BRACKET_CLOSE -> ^(NEGATIVE? arithm_constant)
  +	|	(NEGATIVE)? BRACKET_OPEN arithm_constant BRACKET_CLOSE -> ^(NEGATIVE arithm_constant)
   	;
   
   expr	:	addition;
  
positive.code: 	DEFINITION;
  	TEST;
  	FUNCTION;
  }
  
  /*
  
negative.code: /*
  	PARSER RULES
  */
  idDeclaration[Token type]
  	:	ID -> ^(DECLARATION {type} ID);
      
  declaration
  	:	t=TYPE decs+=idDeclaration[$t] (LIST_SEPARATOR decs+=idDeclaration[$t])* STATEMENT_END NL? -> $decs*;
  	
  declarations
  	:	(declaration)* -> ^(DECLARATIONS declaration*);
  	
  
  print	:	PRINT_KEY BRACKET_OPEN (
  			STRING -> ^(FUNCTION ^(PRINT_KEY STRING))
  