anchor.diff:                      let tree = new Tree<_>(terminals.ToArray(), nodes.[res], parserSource.Rules, Some parserSource.LeftSide, Some parserSource.NumToString)
   //                    tree.AstToDot parserSource.NumToString parserSource.TokenToNumber parserSource.TokenData parserSource.LeftSide "../../../Tests/AbstractRNGLR/DOT/sppf.dot"
   //
  -//                    let gssInitVertices = 
  -//                       innerGraph.Edges |> Seq.collect (fun e -> e.Source.processedGssVertices)
  -//
  -//                    drawDot parserSource.TokenToNumber terminals parserSource.LeftSide gssInitVertices parserSource.NumToString parserSource.ErrorIndex "../../../Tests/AbstractRNGLR/DOT/gss.dot"
  +                    let gssInitVertices = 
  +                       innerGraph.Edges |> Seq.collect (fun e -> e.Source.processedGssVertices)
  +
  +                    drawDot parserSource.TokenToNumber terminals parserSource.LeftSide gssInitVertices parserSource.NumToString parserSource.ErrorIndex "../../../Tests/AbstractRNGLR/DOT/gss.dot"
   
                       Success <| tree
                   with
  
positive.code:                 levels.[u.Level] <- [!curNum]
              else
                  levels.[u.Level] <- !curNum :: levels.[u.Level]
              //print <| sprintf "%d [label=\"%d_%d\"]" !curNum u.Level u.State 
              let rec printPrefixes (prefixes:ResizeArray<Prefix<_>>) (prevStr : string) =
                  let mutable curStr = prevStr + "["
                  if ResizeArray.isEmpty(prefixes) then curStr + "]"
                  else
                      for prefix in prefixes do
                          if prefix <> null
                          then
                              curStr <- curStr + prefix.Head.Tag.ToString() + ":"
                              curStr <- printPrefixes prefix.Tail curStr
                      curStr
                          
              print <| sprintf "%d [label=\"%d_%d_%s\"]" !curNum u.Level u.State (printPrefixes gssVertexesToPrefixes.[u] "Prefixes:")
              incr curNum
  
negative.code:             | None ->
                  v <- new Vertex(state, currentGraphV.vNum)
                  isNew <- true
                  gssVertexesToPrefixes.Add(v, new ResizeArray<Prefix<_>>())
                  listToAddUnprocessedGssV.Add v
                  for e in outEdgesInnerGraph.[currentGraphV.vNum] do
                      addZeroReduction v e.Tag currentGraphV false
          v, isNew
  
      //return old prefixes with new edge on end
      let extPrefix (oldPrefixes:ResizeArray<Prefix<_>>) edge =
          new Prefix<_>(edge, oldPrefixes)
  
      //add prefix to list of prefixes
  