anchor.diff:              |> fun n  ->                    
                       let tree = new Tree<_>(terminals.ToArray(), n, parserSource.Rules, Some parserSource.LeftSide, Some parserSource.NumToString)
                       
  -                    //sprintf "../../../Tests/AbstractRNGLR/DOT/sppf.dot" 
  -                    //|> tree.AstToDot parserSource.NumToString parserSource.TokenToNumber parserSource.TokenData parserSource.LeftSide 
  +                    sprintf "../../../Tests/AbstractRNGLR/DOT/sppf.dot" 
  +                    |> tree.AstToDot parserSource.NumToString parserSource.TokenToNumber parserSource.TokenData parserSource.LeftSide 
                       let ts = tree.GetTokens(!ch)
                       //printfn "%A" ts
                       tree                   
  
positive.code:                 let curV = verticesToProcess.Dequeue()
                  processVertex (customEnqueue verticesToProcess) curV
  
          verticesToProcess |> Array.Parallel.iter _do
  
      if tokens.EdgeCount = 0
      then
  
negative.code:         then
              handlePassingReductions customEnqueue v
      let main () =
          let threads = 1
          let verticesToProcess = [| for i in 0..threads -> new Queue<VInfo<_>>()|]
          let customEnqueue (verticesToProcess:Queue<VInfo<_>>) (elem : VInfo<_>) =
              if verticesToProcess.Count = 0 || ((verticesToProcess.ElementAt (verticesToProcess.Count - 1)).vNum = elem.vNum |> not)
  