anchor.diff:  
   %% Errors
   
  -throw([Line, _, _], Error, Token) ->
  -  throw({error, {Line, ?MODULE, [Error, Token]}});
   throw(Line, Error, Token) ->
     throw({error, {Line, ?MODULE, [Error, Token]}}).
   
  
positive.code: Erlang code.
  
  -define(id(Node), element(1, Node)).
  -define(line(Node), hd(element(2, Node))).
  -define(exprs(Node), element(3, Node)).
  -define(rearrange_uop(Op), (Op == 'not' orelse Op == '!')).
  
  
negative.code: 
  meta(Line, Counter) -> [{counter,Counter}|meta(Line)].
  meta([Line, Column, EndColumn]) when is_integer(Line), is_integer(Column), is_integer(EndColumn) -> [{line, Line}];
  meta(Node) -> meta(?line(Node)).
  
  %% Operators
  