anchor.diff:      member this.FindSppfNode (t : TypeOfNode) lExt rExt : int<nodeMeasure> =
           match t with 
           | Nonterm state ->
  -            let key = hashNonterm lExt rExt (int state)
  -            let contains, n = this.NonTerminalNodes.TryGetValue key
  +            let newNode = new NonTerminalNode(state, (packExtension lExt rExt))
  +            //let key = hashNonterm lExt rExt (int state)
  +            let contains, n = this.NonTerminalNodes.TryGetValue newNode
               if not contains
               then
  -                let newNode = new NonTerminalNode(state, (packExtension lExt rExt))
                   this.Nodes.Add(newNode)
                   let num = (this.Nodes.Length - 1)*1<nodeMeasure>
  -                this.NonTerminalNodes.Add(key, num)
  +                this.NonTerminalNodes.Add(newNode, num)
                   num
               else n
           | Intermed state -> 
  -            let key = hashIntermed lExt rExt (int state)
  -            let contains, n = this.IntermidiateNodes.TryGetValue key
  +            let newNode = new IntermidiateNode(state, (packExtension lExt rExt))
  +            //let key = hashIntermed lExt rExt (int state)
  +            let contains, n = this.IntermidiateNodes.TryGetValue newNode
               if not contains
               then
  -                let newNode = new IntermidiateNode(state, (packExtension lExt rExt))
                   this.Nodes.Add(newNode)
                   let num = (this.Nodes.Length - 1)*1<nodeMeasure>
  -                this.IntermidiateNodes.Add(key, num)
  +                this.IntermidiateNodes.Add(newNode, num)
                   num  
               else n
   
  
positive.code: open YC.GLL.GSS
  
  type SPPF(lengthOfInput : int, startState : int<positionInGrammar>, finalStates : HashSet<int<positionInGrammar>>) =
      let hashIntermed lExt rExt state =   
          lExt
          * (lengthOfInput + 1) 
  
negative.code:         * (lengthOfInput + 1)
          + z * (lengthOfInput + 1)
          + w
      *)
      let dummyNode = -1<nodeMeasure>
      let dummyAST = new TerminalNode(-1<token>, packExtension -1 -1)
      let epsilon = -1<token>
  