anchor.diff:  /// if rule has metaArgs then it is a metarule
   let isMetaRule (r:Rule.t<Source.t,Source.t>) = r.metaArgs <> []
   
  -/// hash table for metarules. 
  +/// hash table for metarules.
   /// Map: using_module -> (rule_name -> (decl_module, rule_decl));
   let metaRulesTbl grammar =
       let rulesMap = getRulesMap grammar
  
positive.code:         let rMap = new System.Collections.Generic.Dictionary<_,_>()
          module'.openings
          |> List.iter (fun op ->
              try 
                  publicRules.[op.text] |> List.iter (fun r ->
                      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  
              
          )
          module'.rules |> List.iter (fun r -> rMap.[r.name.text] <- getModuleName module')
          getModuleName module', rMap
  
negative.code: 
  let errorToken = "error"
  
  let getModuleName (m : Module<_,_>) =
      match m.name with
      | Some n -> n.text
      | None -> ""
  