anchor.diff:                          currentGSSNode := create !currentVertexInInput label !currentGSSNode !structures.CurrentN
   
                           for edge in input.OutEdges !currentVertexInInput do
  -                            let curToken = parser.TokenToNumber ( edge.Tag)
  +                            let curToken = parser.TokenToNumber edge.Tag
   
                               let index = getIndex curSymbol curToken
                               let key =  int((int32 curSymbol <<< 16) ||| int32 (curToken - parser.NonTermCount))    
  
positive.code:                                 let newR = ref !structures.CurrentR
  
                                  if !structures.CurrentN = structures.Dummy
                                  then 
                                      newN := getNodeT oe
                                  else 
                                      newR := getNodeT oe
  
                                  let newVertexInInput = oe.Target
                                  let newLabel = packLabel rule (position + 1)
                                  if !newR <> structures.Dummy
                                  then 
                                      newN := structures.GetNodeP findSppfNode findSppfPackedNode structures.Dummy newLabel !newN !newR
  
                                  structures.PushContext newVertexInInput newLabel !currentGSSNode !newN !newR
                      else 
  
negative.code:                     if true//checkConj res 
                      then        
                              let r1 = new Tree<_> (tokens.ToArray(), res, parser.rules)
  //                            setU |> Array.sumBy (fun s -> if s <> null 
  //                                                            then s.Values |> Seq.sumBy (fun s -> if s <> null 
  //                                                                                                   then s.Values |> Seq.sumBy (fun r -> if r <> null then r.Count else 0)
  //                                                                                                   else 0)
  //                                                            else 0)
  //                            |> printfn "%A" 
                              //printf "%A" r1
                              (*let isSubpath l1 l2 =
                                  List.length l1 <= List.length l2 
  