anchor.diff:              need_pmap = NeedPMap,
               instructions = GroupInstructions} | Instructions], need_pmap(Presence)};
   
  -parse_instruction([#xmlText{} | Tail], Dicts, DefDict) ->
  -   parse_instruction(Tail, Dicts, DefDict);
  +parse_instruction([#xmlText{} | Tail], Dicts, DefDict, Options) ->
  +   parse_instruction(Tail, Dicts, DefDict, Options);
   
   
   % Handle XML comments in template file
  -parse_instruction([#xmlComment{} | Tail],Dicts,DefDict) ->
  +parse_instruction([#xmlComment{} | Tail], Dicts, DefDict, Options) ->
     %just ignore them...
  -  parse_instruction(Tail,Dicts,DefDict);
  -
  -
  -parse_instruction([I | _Tail], _, _) ->
  +  parse_instruction(Tail, Dicts, DefDict, Options);
  +
  +
  +parse_instruction([I | _Tail], _, _, _) ->
      erlang:error({unknown_tag, I}).
   
   parse_dec_op(OpName, Childs, Dicts, DefDict) ->
  
positive.code:             end,
     {Dicts2, [Instr | Instructions], NeedPMap or need_pmap(Presence, Operator)};
  
  parse_instruction([I = #xmlElement{name = Type, content = Childs} | Tail], Dicts, DefDict)
  when (Type == int32 ) or (Type == uInt32) or (Type == uInt64) or (Type == 'int64') or
       (Type == byteVector) or (Type == decimal)->
     OpName = get_bin_attribute(name, I),
     {Dicts1, Instructions, NeedPMap} = parse_instruction(Tail, Dicts, DefDict),
     {Dicts2, Operator} =
     if
        (Type == decimal) -> parse_dec_op(OpName, Childs, Dicts1, DefDict);
  
negative.code:    {Dicts2, [#field{
              type = if Type == 'Int64' -> int64; true -> Type end,
              name = OpName,
              disp_name = get_disp_name(Options, OpName, string_to_id(get_attribute(id, I))),
              ns = get_bin_attribute(ns, I),
              id = string_to_id(get_attribute(id, I)),
              presence = string_to_presence(Presence),
              operator = Operator} | Instructions], NeedPMap or need_pmap(Presence, Operator)};
  
  parse_instruction([I = #xmlElement{name = length = T, content = Childs} | Tail], Dicts, DefDict, Options) ->
     OpName = get_bin_attribute(name, I),
     {Dicts1, Instructions, NeedPMap} = parse_instruction(Tail, Dicts, DefDict, Options),
     {Dicts2, Operator} = parse_op(OpName, T, Childs, Dicts1, DefDict),
     {Dicts2, [#field{
                 type = T,
                 name = OpName,
                 disp_name = get_disp_name(Options, OpName, string_to_id(get_attribute(id, I))),
                 ns = get_bin_attribute(ns, I),
                 id = string_to_id(get_attribute(id, I)),
                 operator = Operator} | Instructions], NeedPMap or false};
  
  parse_instruction([I = #xmlElement{name = Type, content = Childs} | Tail], Dicts, DefDict, Options)
  when (Type == sequence) or (Type == group) ->
     DictName = string_to_dic(get_attribute(dictionary, I, DefDict)),
     {Dicts1, GroupInstructions, NeedPMap} = parse_instruction(Childs, Dicts, DictName, Options),
     {Dicts2, Instructions, _NeedPMap} = parse_instruction(Tail, Dicts1, DictName,  Options),
     Presence = get_attribute(presence, I, "mandatory"),
     {Dicts2, [#field_group{
              type = Type,
              name = get_bin_attribute(name, I),
              disp_name = get_disp_name(Options, GroupInstructions, get_bin_attribute(name, I), string_to_id(get_attribute(id, I))),
              ns = get_attribute(ns, I),
              id = string_to_id(get_attribute(id, I)),
              presence = string_to_presence(Presence),
  