anchor.diff:  
       //
       let ofAugmentedGrammar (grammar : AugmentedGrammar<'Nonterminal, 'Terminal>) =
  +        //
  +        let lr0ParserTable = Lr0.createTable grammar
  +
           // Compute the parser state position graphs of the LR(0) parser states of the augmented grammar.
  -        let positionGraphs = positionGraphs grammar
  +        let positionGraphs = positionGraphs grammar lr0ParserTable
   
           // Compute the set of non-free (forbidden or contingent) positions in the entire grammar.
           (Set.empty, positionGraphs)
  
positive.code:                     positionGraph))
  
      //
      let private positionGraphs (grammar : AugmentedGrammar<'Nonterminal, 'Terminal>) =
          //
          let lr0ParserTable = Lr0.createTable grammar
  
          // Compute the Parser State Position Graph for each parser state.
          (Map.empty, lr0ParserTable.ParserStates)
          ||> Map.fold (fun parserStatePositionGraphs parserStateId parserState ->
              let pspg = positionGraph grammar.Productions parserState
              Map.add parserStateId pspg parserStatePositionGraphs)
  
negative.code:         graph.ContainsEdge (source, target)
  
      //
      let dominators (graph : VertexLabeledSparseDigraph<'Vertex>) =
          // Find the root vertex.
          let root =
              let roots =
  