anchor.diff:  parse_tokens([Token|Rest], TokenAcc, FormAcc, ErrorAcc, FileName, Version) ->
       parse_tokens(Rest, [Token|TokenAcc], FormAcc, ErrorAcc, FileName, Version).
   
  +-spec scan_transform(binary()) -> syntaxTree().
   scan_transform(FileContents) ->
       scan_transform(FileContents, {1, 1}).
   
  +-spec scan_transform('eof' | binary() | string(),integer() | {integer(),pos_integer()}) -> {'error',{integer() | {_,_},atom() | tuple(),_}} | {'ok',[{_,_} | {_,_,_},...]}.
   scan_transform([], StartLocation) ->
       {ok, [{eof, StartLocation}]};
   scan_transform(FileContents, StartLocation) when is_binary(FileContents) ->
  
positive.code: transform_char(_) ->
      error.
  
  cut_at_location({CutLine, CutCol}, FileContents, {StartLine, StartCol}) ->
      cut_at_location1({CutLine, CutCol}, FileContents, {StartLine, StartCol}, []).
  
  cut_at_location1(_, [], _, Acc) ->
      {lists:reverse(Acc), 0, ""};
  cut_at_location1({Line, Col}, [C|Rest], {Line, Col}, Acc) ->
  
negative.code:             {error, ErrorInfo}
      end.
  
  -spec transform_char(special_char() |char()) -> 'error' | {'ok',[any()]}.
  transform_char(8800) -> % ≠
      {ok, ",'not_equals',"};
  transform_char(8804) -> % ≤
  