anchor.diff:                  errorList <- errInfo :: errorList
                   wasError <- ref true
               else
  -                
  -                //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_0.dot" !curLvl
  -                if !isEOF //&& !NeadSh
  +                if !isEOF
                   then
                       try 
                           
  
positive.code:                     pushesMap.[num].Add((oldPushes,newAstNode)) 
                  else pushesMap.Add(num,new ResizeArray<_>([|oldPushes,newAstNode|]))
              pushesInitFun curTokens.Value.Tokens.Length
  //            let vertecesData = oldPushes |> Array.sumBy (fun p -> p.Length) |> Array.zeroCreate 
  //            let pCount = ref 0
  //            for i in 0..oldTokens.Tokens.Length-1 do
  //                let newAstNode = newAstNodes.[i]
  //                let oldPushes = oldPushes.[i]
  //                let num = oldTokens.Tokens.[i].NxtLvl                
  //                for (vertex, state) in oldPushes do
  //                    vertecesData.[!pCount] <- state, num, Some (vertex, newAstNode)
  //                    incr pCount
  //                    addSimpleEdge vertex newAstNode simpleEdges.[state]
  //
  //            addVertex vertecesData |> ignore
   
          let mutable errorList = []                    
          let errorRuleExist = parserSource.ErrorRulesExists
          let mutable wasError = ref false
          let lastErr = ref -1
          let NeadSh = ref true
          while not !isEnd && not !wasError do
          
              if usedStates.Count = 0 && reductions.Count = 0
  
negative.code:                         else
                              for vertex in usedStates do
                                  stateToVertex.[vertex] <- null
                              usedStates.Clear()                                        
                      shift ()
          
          let isAcceptState() = 
              let flag = ref false
  