• Christophe Rhodes's avatar
    Implement incremental lexing. · 00b80c6c
    Christophe Rhodes authored
    The contract is that
    * UPDATE-SYNTAX notes the latest possible position that is known to be valid.
    * UPDATE-SYNTAX-FOR-DISPLAY, within the display bounds, attempts to revalidate
      the previous lex if possible, or relex if not.  After
      UPDATE-SYNTAX-FOR-DISPLAY has finished, the entirety of the remaining
      lexemes are known valid (all the rest have been deleted).
    This may be wrong: it may be that, since lexing takes essentially no time
    at all, the whole buffer should be relexed each time.
prolog-syntax.lisp 41.8 KB