anchor.diff:          let rMap = new System.Collections.Generic.Dictionary<_,_>()
           module'.openings
           |> List.iter (fun op ->
  -            try 
  +            try
                   publicRules.[op.text] |> List.iter (fun r ->
  -                    try 
  +                    try
                           rMap.[r.name.text] <- op.text
                       with
                       | e -> printfn "Get rules error: rule name: %A;" r.name.text
   
                           )
               with
  -            | e -> printfn "Get rules error: open: %A;" op.text  
  -            
  +            | e -> printfn "Get rules error: open: %A;" op.text
  +
           )
           module'.rules |> List.iter (fun r -> rMap.[r.name.text] <- getModuleName module')
           getModuleName module', rMap
  
positive.code:         )
      |> dict
  
  /// For each module creates map: rule -> (module, in which the rule is declared)
  let getRulesMap (grammar : Grammar.t<_,_>) =
      let publicRules = getPublicRules grammar
  
negative.code: /// if rule has metaArgs then it is a metarule
  let isMetaRule (r:Rule.t<Source.t,Source.t>) = r.metaArgs <> []
  
  /// hash table for metarules.
  /// Map: using_module -> (rule_name -> (decl_module, rule_decl));
  let metaRulesTbl grammar =
      let rulesMap = getRulesMap grammar
  