anchor.diff:  
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %% tokenizer
  +tokenize(Str) when is_integer(hd(Str)) ->
  +  tokenize(tz(nil,Str));
  +
  +tokenize({TZ,Str}) ->
  +  tokenize(tz(TZ,Str));
  +tokenize({text,Str,Token}) ->
  +  case ff(text,Str) of
  +    {{tag,""},EStr,{text,Txt}} -> 
  +      try [Token,{text,Txt},tokenize({{tag,""},EStr})]
  +      catch _:_ -> tokenize({text,Txt++"&lt;"++EStr,Token})
  +      end;
  +    {{text,Str},"",eof} -> [Token,{eof,{text,Str}}]
  +  end;
  +tokenize({TZ,Str,Token}) ->
  +  {Token,{TZ,Str}}.
  +
   tz(nil,"<"++Str)                        -> {{tag,""},ws(Str)};
   tz(nil,[_|Str])                         -> {nil,Str};
   
  
positive.code:      {"<tag catt xatt=\"\" batt>",
        [{tag,"tag",[{"catt",""},{"xatt",""},{"batt",""}]},
         {end_tag,"tag"}]},
       {"<P a=b c=d>hej<!-- tobbe --><b>svejsan</b>foo</p>grump<x x=y />",
        [{tag,"p",[{"a","b"},{"c","d"}]},
         {text,"hej"},
  
negative.code: ff(What,Str) ->
    case ff(Str,ff(What),[1,2]) of
      [Scr,Rest] -> {{tag,""},ws(Rest),{text,Scr}};
      [] -> {{text,Str},"",eof}
    end.
  
  ff(script)-> "(.*)<(\\s*/\\s*script\\s*>.*)\$";
  