1. 04 Apr, 2005 4 commits
  2. 02 Apr, 2005 1 commit
    • Christophe Rhodes's avatar
      Prolog syntax improvements: · e4ceed7c
      Christophe Rhodes authored
      * 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.
      e4ceed7c
  3. 31 Mar, 2005 1 commit
  4. 27 Mar, 2005 4 commits
    • Christophe Rhodes's avatar
    • Christophe Rhodes's avatar
      Parse [A,B]-style lists correctly. · 787cf6b4
      Christophe Rhodes authored
      787cf6b4
    • Christophe Rhodes's avatar
      "Concision is equivalent to powerfulness" · ff273ea5
      Christophe Rhodes authored
      Delete about 120 lines by defining define-prolog-rule to wrap around
      ADD-RULE.
      
      More known lacunae
        * [A,B] does not parse properly.
        * quoted tokens confuse the incremental lexer.
      ff273ea5
    • Christophe Rhodes's avatar
      Add a half-baked half-finished ISO Prolog syntax. · 2aa1652a
      Christophe Rhodes authored
      Known internal lacunae:
        * does not handle quotations correctly:
          ** fails to recognize '' as an escaped quote character (and similarly
             for other quote characters);
          ** fails to canonize quoted atoms; will fail to identify the operator
             ; from the quoted atom ';';
          ** does not contain any logic for backslash-escaped data.
        * does not implement parsing floating point numbers.
        * comments before directives get italicized.
        * way too long.  Expect some refactoring.
      
      Known suboptimal interactions with the syntax framework:
        * parses the entire buffer at every keystroke; incremental parsing caused
          a problem at some point and has not (yet) been restored.
        * displays the entire buffer at every keystroke.
        * the incremental lexer gets confused in the presence of comments.
          (see forthcoming mail to climacs-devel)
      2aa1652a