anchor.diff:  -export([compile/3,file/1,file/2,format_error/1]).
   
   -import(lists, [member/2,reverse/1,sort/1,delete/2,
  -                keysort/2,keydelete/3,keyfind/3,
  +                keysort/2,keydelete/3,
                   map/2,foldl/3,foreach/2,flatmap/2]).
   -import(string, [substr/2,substr/3,span/2]).
   -import(ordsets, [is_element/2,add_element/2,union/2]).
  
positive.code:     re_char_class(Cs, [$]], St);
  re_char_class(Cs, St) -> re_char_class(Cs, [], St).
  
  re_char_class("[:" ++ Cs0, Cc, #leex{posix=true}=St) ->
      %% POSIX char class only.
      case posix_cc(Cs0) of
          {Pcl,":]" ++ Cs1} -> re_char_class(Cs1, [{posix,Pcl}|Cc], St);
          {_,Cs1} -> parse_error({posix_cc,string_between(Cs0, Cs1)})
      end;
  re_char_class([C1|Cs0], Cc, St) when C1 =/= $] ->
      case re_char(C1, Cs0) of
          {Cf,[$-,C2|Cs1]} when C2 =/= $] ->
  
negative.code:                gfile=[],        % Graph file
                 module,          % Module name
                 opts=[],         % Options
                 % posix=false,   % POSIX regular expressions
                 errors=[],
                 warnings=[]
                }).
  