anchor.diff:    | ^(OR expr expr)
     | ^(XOR expr expr)
     | ^(AND expr expr)
  -  | ^(IS_EQ expr expr)
  -  | ^(IS_NEQ expr expr)
  +  | ^(IS_EQ expr { self.print_custom(' == ') } expr)
  +  | ^(IS_NEQ expr { self.print_custom(' != ') } expr)
     | ^(IS_IDENT expr expr)
     | ^(IS_NIDENT expr expr)
  -  | ^(IS_LE expr expr)
  -  | ^(IS_GE expr expr)
  -  | ^(IS_LT expr expr)
  -  | ^(IS_GT expr expr)
  +  | ^(IS_LE expr { self.print_custom(' <= ') } expr)
  +  | ^(IS_GE expr { self.print_custom(' >= ') } expr)
  +  | ^(IS_LT expr { self.print_custom(' < ') } expr)
  +  | ^(IS_GT expr { self.print_custom(' > ') } expr)
     | ^(SHL expr expr)
     | ^(SHR expr expr)
  -  | ^(PLUS expr expr)
  +  | ^(PLUS expr { self.print_custom(' + ') } expr)
     | ^(MINUS expr expr)
  -  | ^(DOT expr expr)
  +  | ^(DOT
  +      { self.print_custom('str(') }
  +      expr
  +      { self.print_custom(') + str(') }
  +      expr
  +      { self.print_custom(')') })
     | ^(MUL expr expr)
     | ^(DIV expr expr)
  -  | ^(MOD expr expr)
  +  | ^(MOD expr { self.print_custom(' \% ') } expr)
     | ^(NOT expr)
     | ^(KW_INSTANCEOF expr class_name)
     | ^(UnaryMinus expr)
     | ^(NEG expr)
     | ^(Pre expr incdec_op)
     | ^(Post expr incdec_op)
  -  | L_INT
  -  | L_STRING
  +  | L_INT { self.print_custom($L_INT.text) }
  +  | L_STRING { self.print_custom($L_STRING.text) }
     | KW_TRUE
     | KW_FALSE
     | ^(OBJ_ACCESS variable_or_call variable_or_call)
     | ^(KW_NEW class_name actual_parameter_list?)
  -  | ^(Call name=ID actual_parameter_list index*)
  +  | ^(Call name=ID { self.print_custom($ID.text + '(') }
  +      actual_parameter_list
  +      { self.print_custom(')') }
  +      index*)
     | ^(Variable variable_name index*)
     ;
   
  
positive.code:   ;
  
  index
    : ^(Index ArrayEnd)
    | ^(Index expr)
    ;
  
  variable_or_call
  
negative.code:   ;
  
  expr
    : ^(EQ expr { self.print_custom(' = ') } expr)
    | ^(PLUS_EQ expr { self.print_custom(' += ') } expr)
    | ^(MINUS_EQ expr expr)
    | ^(MUL_EQ expr expr)
    | ^(DIV_EQ expr expr)
  