anchor.diff:      member this.Recognize ((grules, start) as g) s weightCalcFun lblNames = 
           rules <- grules
           lblNameArr <- lblNames
  -        // Info about dialects of derivation
  -        // in format: "<lblState> <lblName> <weight>"
  -        // If dialect undefined or was conflict lblName = "0"
  +        // Info about dialects of derivation in format: "<lblState> <lblName> <weight>"
  +        // If dialect undefined or was conflict lblName = "0" 
           let out = recognize g s weightCalcFun |> List.filter ((<>)"") |> String.concat "\n"
           match out with
           | "" -> "Строка не выводима в заданной грамматике."
  
positive.code: 
      let print lblValue weight leftI rightL leftL =
          let out = String.concat " " ["label ="; lblString lblValue; "weight ="; string weight; 
                      "left ="; string leftI; "right ="; string (leftI+rightL+leftL+1)]
          printfn "%s" out
  
      let rec trackLabel i l (cell:CellData)  flag =
  
negative.code:             let left =
                  recTable.[leftI,leftL]
                  |> Array.tryFind (fun (x:Option<CellData>) -> 
                                          match x with
                                          | Some x ->
                                              let ind,lSt,lbl,_ = getData x.rData
                                              let top,_,_,_,_ = getRule rules.[int ind]
                                              top = b
                                          | None -> false)
              let right = 
                  recTable.[rightI,rightL]
                  |> Array.tryFind (fun (x:Option<CellData>) -> 
  