Prolog syntax improvements:
* PRINT-OBJECT for PROLOG-LEXEMEs, for less pain while debugging; * OPEN-CT production rule from OPEN-CT-LEXEME, because we can; * rework the lexer a bit. Now UPDATE-SYNTAX just invalidates the lex as it invalidates the parse, and UPDATE-SYNTAX-FOR-DISPLAY relexes as far as it needs to; * we need operator-compound-lterm and subclasses, because we cannot create multiple nonterminals from one rule: returning (make-instance 'lterm :term (make-instance 'foo ...)) from a production rule leaves some slots in the FOO unfilled; * note my own bafflement as to why an apparently infinitely-recursive production doesn't recurse infinitely. It can be fixed when needed, but why isn't it triggering? This version still gets various aspects of multiline lexemes wrong, but it's a lot better than before.
Showing with 135 additions and 45 deletions