anchor.diff:  
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
  -get_tokenizer([H|T] = Ln) when ?IS_SPECIAL(H) ->
  +get_tokenizer([H|T] = Ln) when ?IS_TAG(H) ->
     case parse_id(T) of
       {[], _   } -> {recursive, no_tokenizer, Ln};
       {Id, Rest} ->
  
positive.code:         _ -> {IsRec, get_tag(H, Id), Rest}
        end
    end;
  
  get_tokenizer(Ln) -> {recursive, no_tokenizer, Ln}.
  
  
negative.code:   (H >= $\x{0009} andalso H =< $\x{000D})
      orelse H == $\x{0020} orelse H == $\x{00A0}).
  
  -define(IS_ATTR(H), H == $# orelse H == $.).
  -define(IS_TAG(H),  H == $: orelse H == $* orelse ?IS_ATTR(H)).
  
  tokenize_string(Str) ->
    Lines = string:tokens(Str, "\n"), % FIXME: removes empty lines
  