anchor.diff:                  finalState := endState
       do
           rulesToGFG ()
  +    
  +    member this.InitState = !initState
  +    member this.FinalState = !finalState
   
       member this.PrintToDot output =
           let head = "digraph GFG { \n"
  
positive.code:         count                   
      
      let addEdge source target tag = 
          this.AddEdge (new TaggedEdge<_, _>(source, target, tag)) |> ignore
  
      let newEdges isTerm source (target : int option) (s: Source.t) =
          let final = ref dummyState
          if target.IsNone then final := newState() else final := target.Value
          if isTerm
          then addEdge source !final (Scan s.text)
          else
              let startState, endState = nonTermToStates.[s.text]
              let returnState = ref dummyState
  
negative.code:             productionToStates startState endState right
          | PSeq (seq, _ , _) ->
              let entryState, exitState = newState(), newState()
              addEdge startState entryState Entry
              addEdge exitState endState.Value End
              let rec seqToStates source target = function
                  | hd :: [] -> productionToStates source target hd.rule
                  | hd :: tl -> let newstate = productionToStates source None hd.rule
  