anchor.diff:      let startNTerm (il:Yard.Core.IL.Definition.t<_,_>) (ntermDict:Dictionary<_,_>) =
           ntermDict.[(il.grammar |> List.find (fun r -> r._public)).name.text]
       
  -    let genlblArr (lblDict:Dictionary<string,int>)= 
  +    let genlblArr (lblNames:string[])= 
           ("let lblName = " |> wordL)
           @@-- (("[|" |> wordL)
  -            @@ ([for lblInfo in lblDict -> ["\"" + string lblInfo.Key + "\";"]|> List.map wordL |> spaceListL] |> aboveListL))
  +            @@ ([for lblInfo in lblNames -> ["\"" + lblInfo + "\";"]|> List.map wordL |> spaceListL] |> aboveListL))
               @@ ("|]" |> wordL)
   
       let code il grammarInfo =
  
positive.code:             rules = il.grammar |> List.map processRule |> Array.ofList
              termDict = termDict
              nTermDict = ntermDict
              lblDict = lblDict
          }
          
      let print rule = 
  
negative.code:                 | Some i -> lblId, int i
                  | None -> lblId,0
              | None -> 0,0
          let lblDictToArr = 
              Array.ofSeq (Dictionary.KeyCollection lblDict)
  
          let ntermId (name:Source.t) = 
              if ntermDict.ContainsKey name.text
              then ntermDict.[name.text] 
  