anchor.diff:              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)
  +                                        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>) -> 
  
positive.code:                                             top = c
                                          | None -> false)
  
              
              match right with
              | Some (Some right) ->
                  match left with 
  
negative.code:     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" 
          let out = recognize g s weightCalcFun |> List.filter ((<>)"") |> String.concat "\n"
          match out with
          | "" -> "Строка не выводима в заданной грамматике."
  