anchor.diff:          then
               verticesToProcess.Enqueue(elem)
   
  -    let addNonZeroReduction gssVertex state token gssEdge (innerGraphV : VInfo<_>)=
  -        let arr = parserSource.Reduces.[state].[parserSource.TokenToNumber token]
  +    let addNonZeroReduction (gssVertex : Vertex) token gssEdge (innerGraphV : VInfo<_>)=
  +        let arr = parserSource.Reduces.[gssVertex.State].[parserSource.TokenToNumber token]
           if arr <> null 
           then
               for (prod, pos) in arr do
                   innerGraphV.AddReduction(new Reduction(gssVertex, prod, pos, Some gssEdge))
   
  -    let addZeroReduction gssVertex state token (innerGraphV : VInfo<_>) shouldEnqueue =
  -        let arr = parserSource.ZeroReduces.[state].[parserSource.TokenToNumber token]
  +    let addZeroReduction (gssVertex : Vertex) token (innerGraphV : VInfo<_>) shouldEnqueue =
  +        let arr = parserSource.ZeroReduces.[gssVertex.State].[parserSource.TokenToNumber token]
           if arr <> null
           then
               for prod in arr do
  
positive.code:         if isNotEps
          then
              for e in outEdgesInnerGraph.[startV.vNum] do
                  addNonZeroReduction newVertex newVertex.State e.Tag edge startV
  
      let edgesToTerms = new Dictionary<_,_>()
      let push (currentGraphV:VInfo<_>) gssVertex state =
  
negative.code:             | None -> Error (-1, Unchecked.defaultof<'TokenType>, "There is no accepting state")
              | Some res -> 
                  let tree = new Tree<_>(terminals.ToArray(), nodes.[res], parserSource.Rules)
                  //tree.AstToDot parserSource.NumToString parserSource.TokenToNumber parserSource.TokenData parserSource.LeftSide "../../../Tests/AbstractRNGLR/DOT/sppf.dot"
                  Success <| tree