anchor.diff:  rp_info([], _SymbolTab, _LcTab, _RuleIndex) ->
       [];
   rp_info([Category | Followers], SymbolTab, LcTab, RuleIndex) ->
  -    case dict:find(Category, RuleIndex) of
  +    case maps:find(Category, RuleIndex) of
           error -> % terminal
               [];
           {ok, ExpandingRules} when Followers =:= [] ->
  
positive.code:     Rules = map(fun(#rule{symbols = [Lhs | Rhs]}) ->
                          {Lhs,{Lhs, Rhs}}
                  end, RulesList),
      LeftHandTab = dict:from_list(family(Rules)),
      X0 = [{S,H} || {H,{H,Rhs}} <- Rules, 
                     S <- Rhs, 
                     not is_terminal(SymbolTab, S)],
      XL = family_with_domain(X0, St#yecc.nonterminals),
      X = dict:from_list(XL),
      Xref = fun(NT) -> dict:fetch(NT, X) end,
      E = set_empty(),
      LC0 = dict:from_list([{H, E} || {H,_} <- XL]),
      %% Handle H -> a S, where a is a terminal ('$empty' inclusive).
      {Q, LC1} =
          foldl(fun({H,{H,[S | _]}}, {Q0, LC}) ->
  
negative.code:         [] -> 
              LC0;
          Q1 -> 
              Rs = flatmap(fun(NT) -> maps:get(NT, LeftHandTab) end, Q1),
              {LC, Q} = left_corners2(Rs, LC0, [], SymbolTab, Xref),
              left_corners(Q, LC, LeftHandTab, SymbolTab, Xref)
      end.
  