anchor.diff:                   elem i l
                    fillTable (i+1) l//продолжаем заполнять столбец
               else
  -                 fillTable 0 (l+1)//переход на новый столбец
  -
  -       let printTableRules =
  -            (function
  -            | ToBranch(a,b,c,l,w) -> [a; "->"; b; c; "  "; (match l with | Some t -> t | None -> "--")]
  -            | ToLeaf(a,b,l)    -> [a;"->";b.ToString();"  "; (match l with | Some t -> t | None -> "--") ]
  -            >> String.concat "")
  -            |> List.map
  -            >> String.concat "; "
  -
  -       let printTableLabels = 
  -            (function
  -            | Some v -> v
  -            | None -> "--")
  -            |> List.map
  -            >>String.concat "; "
  -
  -//       let printTableWeights (weights:List<Option<int>>) : string = 
  -//            (function
  -//            | Some v -> "" + v.tostring()
  -//            | None -> "0"
  -//            >> String.concat "")
  -//            |> List.map
  -//            >> String.concat "; "
  -            
  +                 fillTable 0 (l+1)//переход на новый столбец       
   
          let printElem i l =
               let _,_,_,lbls,weights,rules = recTable.[i,l]
  
positive.code: ﻿//CYK for research :) 
  // It is part of YaccConstructor.
  namespace CYK
  
  //Правила контекстно-свободной грамматики в нормальной форме Хомского
  type Rule = 
     |ToBranch of string*string*string*Option<string>*Option<int> //А->BC<lbl>, A,B,C - нетерминалы
     |ToLeaf of string*char*Option<string> //A->a<lbl>, а - терминал 
  
  
  type CYKParser()=
      //Вывод правил
      let printRules =
         (function
         | ToBranch(a,b,c,_,_),l -> [a; "->"; b; c; "  "; (match l with | Some t -> t | None -> "")]
         | ToLeaf(a,b,_),l     -> [a;"->";b.ToString();"  "; (match l with | Some t -> t | None -> "") ]
         >> String.concat "")
         |> List.map
         >> String.concat "\n"
  
      //Последовательное применение правил rs, начиная с первого левого нетерминала start                             
      let printOutput rs start =
  
negative.code: 
                          
         System.Console.Write "\nParse weights: "
         parseWeightCalc ws (s.Length - 1)       
  
      member this.Recognize grammar str = recognize grammar str
  
  