anchor.diff:                      then
                           if pushesMap.ContainsKey !curLvl
                           then
  -                            drawDot parserSource.TokenToNumber tokens parserSource.LeftSide vertices parserSource.NumToString parserSource.ErrorIndex
  -                                <| sprintf "dot/stack_%d_2.dot" !curLvl    
                               for vertex in usedStates do
                                   stateToVertex.[vertex] <- null
                               usedStates.Clear()
  
positive.code:                                     let newVertex = addVertex [|state, !curLvl,  Some (vertex, newAstNode)|]
                                      addSimpleEdge vertex newAstNode simpleEdges.[state]
                              pushesMap.Remove(!curLvl) |> ignore
                              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_3.dot" !curLvl
                          else
                              for vertex in usedStates do
                                  stateToVertex.[vertex] <- null
  
negative.code:                 errorList <- errInfo :: errorList
                  wasError <- ref true
              else
                  if !isEOF
                  then
                      try 
  