anchor.diff:          /// Stores states, used on current level. Instead statesCount must be number of non-terminals, but doesn't matter
           let usedStates = new Stack<_>(statesCount)
           let stateToVertex : Vertex[] = Array.zeroCreate statesCount
  -
  -        //let newRules = new BlockResizeArray<_>()
   
           let addVertex vertData =
               [|
  
positive.code:                     makeReductions ()
                      attachEdges()
  
                      //curLvl := !nxtLvl
                      
                      shift ()// !nxtLvl
  
          let isAcceptState() = 
              let flag = ref false
  
negative.code:                 errorList <- errInfo :: errorList
                  wasError <- ref true
              else
                  let vertices = usedStates.ToArray() |> Array.map (fun i -> stateToVertex.[i])                    
                  drawDot parserSource.TokenToNumber tokens parserSource.LeftSide vertices parserSource.NumToString parserSource.ErrorIndex
                              <| sprintf "dot/stack_%d_0.dot" !curLvl
                  if !isEOF
                  then
                      try 
                          
  