anchor.diff:          unionTypeDecl ("token", true, processedSpec.Terminals) writer
           writer.WriteLine ()
   
  -        /// Maps terminal identifiers to symbolic token names.
  +        /// Maps terminals (tokens) to symbolic token names.
           let symbolicTokenNames =
               processedSpec.Terminals
  +            // Add the end-of-input and error terminals to the map.
  +            |> Map.add endOfInputTerminal None
  +            |> Map.add errorTerminal None
               |> Map.map (fun terminalName _ ->
                   "TOKEN_" + terminalName)
   
  
positive.code:         writer.WriteLine ()
  
          // Emit constants for "end-of-input" and "tag of error terminal"
          // TODO
  
          // Emit the token -> token-name function.
          quickSummary writer "Gets the name of a token as a string."
  
negative.code: 
          // Emit the symbolic nonterminal type declaration.
          quickSummary writer "This type is used to give symbolic names to token indexes, useful for error messages."
          do
              /// The symbolic nonterminals. All values in this map are None
              /// since the cases don't carry values.
              let symbolicNonterminals =
                  let symbolicNonterminals = valueMap symbolicNonterminalNames
                  // Add cases for the starting symbols.
                  (symbolicNonterminals, processedSpec.StartSymbols)
                  ||> Set.fold (fun symbolicNonterminals startSymbol ->
                      Map.add ("NONTERM__start" + startSymbol) None symbolicNonterminals)
  
                  // Write the type declaration.
              unionTypeDecl ("nonterminalId", false, symbolicNonterminals) writer
          writer.WriteLine ()
  
          /// Integer indices (tags) of terminals (tokens).
  