anchor.diff:          member tables.Interpret(initialState,lexBuffer : LexBuffer<byte>) = 
               startInterpret(lexBuffer)
               scanUntilSentinel(lexBuffer, initialState)
  -
  -        /// Interpret tables for an ascii lexer generated by fslex. 
  -        member tables.AsyncInterpret(initialState,lexBuffer : LexBuffer<byte>) = 
  -        
  -            let rec scanUntilSentinel(lexBuffer,state) : Async<int> = 
  -                async {  
  -                    let sentinel = 255 * 256 + 255 
  -                    // Return an endOfScan after consuming the input 
  -                    let a = int accept.[state] 
  -                    if a <> sentinel then 
  -                        onAccept (lexBuffer,a)
  -                    
  -                    if lexBuffer.BufferScanLength = lexBuffer.BufferMaxScanLength then 
  -                        lexBuffer.DiscardInput();
  -                        do! lexBuffer.AsyncRefillBuffer ();
  -                       // end of file occurs if we couldn't extend the buffer 
  -                        return! afterRefill (trans,sentinel,lexBuffer,scanUntilSentinel,endOfScan,state,256 (* == EOF *) )
  -                    else
  -                        // read a character - end the scan if there are no further transitions 
  -                        let inp = int(lexBuffer.Buffer.[lexBuffer.BufferScanPos])
  -                        let snew = int trans.[state].[inp] 
  -                        if snew = sentinel then 
  -                            return! endOfScan()
  -                        else 
  -                            lexBuffer.BufferScanLength <- lexBuffer.BufferScanLength + 1;
  -                            return! scanUntilSentinel(lexBuffer,snew)
  -                }
  -            and endOfScan() = 
  -                async { return lexBuffer.EndOfScan() }
  -            startInterpret(lexBuffer)
  -            scanUntilSentinel(lexBuffer, initialState)
  -
   
           static member Create(trans,accept) = new AsciiTables(trans,accept)
   
  
positive.code:                 let repl = Array.zeroCreate (lexbuf.BufferScanPos + n) 
                  Array.blit buffer bufferScanStart repl bufferScanStart bufferScanLength;
                  buffer <- repl
  
          
      module GenericImplFragments = 
          let startInterpret(lexBuffer:LexBuffer<_>)= 
  
negative.code:             startInterpret(lexBuffer)
              scanUntilSentinel(lexBuffer, initialState)
  
          static member Create(trans,accept) = new UnicodeTables(trans,accept)
  