anchor.diff:                      indentingWriter.Write "[| "
   
                       // Emit the transition vector elements, based on the transitions out of this state.
  -                    // In 'fslex', the length of the transition vector depends on whether
  -                    // or not the lexer is generated with support for Unicode.
  -                    if options.Unicode then
  -                        unicodeTransitionVectorElements (
  -                            compiledRule,
  -                            tag ruleDfaStateId,
  -                            tag baseDfaStateId,
  -                            indentingWriter)
  -                    else
  -                        asciiTransitionVectorElements (
  -                            compiledRule,
  -                            tag ruleDfaStateId,
  -                            tag baseDfaStateId,
  -                            indentingWriter)
  +                    stateTransitionEmitter compiledRule (tag ruleDfaStateId) (tag baseDfaStateId) indentingWriter
   
                       // Emit the closing bracket of the transition vector for this state,
                       // plus a semicolon to separate it from the next state's transition vector.
  
positive.code:             This would just serve as a reminder to the user later on (after the code is generated)
              in case they don't see the warning message we emit. *)
  
  /// Emit table-driven code which is compatible to the code
  /// generated by the older 'fslex' tool.
  [<RequireQualifiedAccess>]
  module private FsLex =
      open System.CodeDom.Compiler
      open System.Text
      open BackendUtils.CodeGen
  
      //
      let [<Literal>] private interpreterVariableName = "_fslex_tables"
      //
      let [<Literal>] private transitionTableVariableName = "trans"
      //
      let [<Literal>] private actionTableVariableName = "actions"
      //
      let [<Literal>] private sentinelValue = System.UInt16.MaxValue
      //
      let [<Literal>] private lexerBufferVariableName = "lexbuf"
      //
      let [<Literal>] private lexerBufferTypeName = "Microsoft.FSharp.Text.Lexing.LexBuffer<_>"
      //
      let [<Literal>] private lexingStateVariableName = "_fslex_state"
  
      /// Writes an array or list element containing an F# uint16 literal value to a TextWriter.
      let inline private writeUInt16LiteralElement (textWriter : System.IO.TextWriter) (value : uint16) =
          textWriter.Write (uint32 value)
          textWriter.Write "us; "
  
      /// Emits the elements into an ASCII transition table row for the given DFA state.
      let private asciiTransitionVectorElements (compiledRule, ruleDfaStateId, baseDfaStateId, indentingWriter : IndentedTextWriter) =
          (*  The transition vector for each state in an 'fslex'-compatible ASCII transition
              table has 257 elements. The first 256 elements represent each possible ASCII value;
              the last element represents the 'end-of-file' marker. *)
  
          let ruleDfaTransitions = compiledRule.Dfa.Transitions
  
  
negative.code:             // Closing bracket of the array.
              indentingWriter.WriteLine "|]"
  
      //
      let private emitActionTable (compiledRules : Map<RuleIdentifier, CompiledRule>) (indentingWriter : IndentedTextWriter) =
          // Documentation comments for the action table.
          "/// <summary>The action table.</summary>" |> indentingWriter.WriteLine
  
  