anchor.diff:                          pushesMap.Remove(!curLvl) |> ignore
                           makeReductions ()
                           attachEdges()
  -                        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_4.dot" !curLvl
  -                        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_5.dot" !curLvl
                       with _ -> () 
                       isEnd := true
                   (*elif pushes.Count = 0 then 
  
positive.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 
  
negative.code:                     then
                          if pushesMap.ContainsKey !curLvl
                          then
                              for vertex in usedStates do
                                  stateToVertex.[vertex] <- null
                              usedStates.Clear()
  