     # field indentChar:          char used to indent, ' ' or '\t'
     # field forbiddenIndentChar: char forbidden for indentation, '\t' or ' '
     # field lineCache:           line number -> offset correspondance table
-    # field readIndex:           current token reading pointer
-    # field streamIndentation:   indentation level of last consummed token
 
     #---------------------------------------------------------------------------
     # Get ready to tokenize string `src', with keywords set `keywords'.

    startingWithSymbol: (k) -> @set[k] or []


exports.Lexer = class Lexer

    # field src:                 source code being tokenized

    #---------------------------------------------------------------------------
    pWhere: (msg) ->
        log "#{msg or ''} [#{@i} '#{@src[@i..@i+5].replace( /\n/g,'\\n')}...']\n"
    #---------------------------------------------------------------------------
    # Perform one step of tokenization..
    # One step of processing can produce more than one token:
