anchor.diff:              then
                   if Array.exists (fun e -> e = rule) condNonTermRules
                   then
  -                    r.Add(new ResultStruct((getEdge <| getLeftExtension !currentExtension), (getPosOnEdge <| getLeftExtension !currentExtension), (getEdge <| getRightExtension !currentExtension), (getPosOnEdge <| getRightExtension !currentExtension), parser.NumToString <| parser.LeftSide.[rule]))
  +                    r.Add(new ResultStruct((getEdge <| getLeftExtension !currentExtension), (getPosOnEdge <| getLeftExtension !currentExtension), (getEdge <| getRightExtension !currentExtension), (getPosOnEdge <| getRightExtension !currentExtension), parser.NumToString <| parser.LeftSide.[rule], !currentLength))
                       |> ignore
                   pop !currentGSSNode !currentIndex !currentExtension !currentLength
               else
  
positive.code:                     if flg then
                          for rule in rules do
                              let newLabel = 1<labelMeasure> * packLabelNew rule 0
                              addContext !currentIndex newLabel v (packExtension index index)    
                  if cP < chainLen - 1
                  then
                      addCntxtForNonTerm cE cP i   
  
negative.code:     val re : int
      val rpos : int
      val nterm : string
      val length   : byte
      new (l,l1, r, r1, n, len) = {le = l; lpos = l1; re = r; rpos = r1; nterm = n; length = len}
  
  let buildAbstract<'TokenType> (parser : ParserSourceGLL<'TokenType>) (input : BioParserInputGraph) condNonTerm = 
      let shift = input.Shift
  