- 04 Apr, 2005 6 commits
-
-
Christophe Rhodes authored
-
Christophe Rhodes authored
* separate SYNTACTIC-LEXEME from CANONICAL-NAME, which latter is defined also for empty-list and curly-brackets as well as NAMEs and OPs NOTE NOTE NOTE: giving [] and {} canonical names of "[]" and "{}" is in fact wrong, as '[]' and '{}' should not be equal to [] and {}.
-
Christophe Rhodes authored
to work.
-
Christophe Rhodes authored
(uncomment out :around method on display-parse-tree to prevent display of off-the-screen stuff)
-
Robert Strandh authored
italics. Defined an HREF attribute that takes a string as an argument Fixed the <a> tag to take a list of attributes, just like <html> now does. The only possible attribute for the <a> tag at the moment is HREF.
-
Robert Strandh authored
-
- 02 Apr, 2005 1 commit
-
-
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.
-
- 31 Mar, 2005 1 commit
-
-
Christophe Rhodes authored
-
- 27 Mar, 2005 4 commits
-
-
Christophe Rhodes authored
-
Christophe Rhodes authored
-
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.
-
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)
-
- 23 Mar, 2005 1 commit
-
-
Aleksandar Bakic authored
-
- 20 Mar, 2005 2 commits
-
-
Aleksandar Bakic authored
-
Robert Strandh authored
use add-rule.
-
- 19 Mar, 2005 1 commit
-
-
Aleksandar Bakic authored
version of the Undo protocol that relies on persistent buffers. Marks are not persistent (yet?), they are only "fixed" to prevent trivial errors. climacs.asd: added Persistent/persistent-undo.lisp. gui.lisp: added calls to full-redisplay at the end of com-undo and com-redo (could not find a better way). pane.lisp: added copyright info; fixed a bug in with-undo macro; modified extended-binseq2-buffer to inherit from p-undo-mixin; cleaned up some mark cloning code.
-
- 18 Mar, 2005 1 commit
-
-
Robert Strandh authored
offset can be given, in which case, the start-mark must exist (since we don't know the buffer), or else a mark can be given, in which case it is cloned. Removed references to start-mark from html-syntax.lisp, and removed it from the export list of the climacs-syntax package.
-
- 17 Mar, 2005 1 commit
-
-
Robert Strandh authored
almost entirely cleaned up so that it can be used as a model for other syntax modules, in particular the Common Lisp syntax module.
-
- 16 Mar, 2005 2 commits
-
-
Robert Strandh authored
Fixed a bug in update-syntax.
-
Robert Strandh authored
in syntax.lisp, so there is no need for individual syntax modules to be concerned with updating them. Started restructuring the grammar in html-syntax so that for some grammatical entity, grammar rules, display function, class definition, etc are grouped together. This will probably be the preferable way of structuring most grammars for other syntax modules as well.
-
- 15 Mar, 2005 5 commits
-
-
Aleksandar Bakic authored
-
Robert Strandh authored
-
Robert Strandh authored
-
Robert Strandh authored
syntax.lisp file.
-
Robert Strandh authored
still physically in the file html-syntax.lisp, but that will change soon.
-
- 13 Mar, 2005 2 commits
-
-
Aleksandar Bakic authored
bugs (related to number-of-lines-in-region, I believe). base.lisp: Added faster methods on previous-line, next-line, buffer-number-of-lines-in-region. pane.lisp, cl-syntax.lisp, html-syntax.lisp, text-syntax.lisp: Replaced some calls to make-instance to calls to clone-mark and (setf offset), in order to avoid passing climacs-buffer to marks. This also made possible to get rid of delegating methods on syntax. climacs.asd: Added Persistent/binseq2. packages.lisp: Added binseq2-related symbols. Persistent/binseq.lisp, Persistent/obinseq.lisp: Cleanup. Persistent/persistent-buffer.lisp: Added code for binseq2-buffer and related marks. Also some minor fixes.
-
Robert Strandh authored
-
- 11 Mar, 2005 3 commits
-
-
Robert Strandh authored
-
Robert Strandh authored
a specific McCLIM backend.
-
Robert Strandh authored
The current code is a mess, because I haven't figured out how much of html-syntax.lisp can be factored out and put in syntax.lisp for use with other syntax modules. Also, the HTML syntax module is nowhere near complete. It exists merely as an illustration of what can be done with incremental parsing. It is definitely premature to try to turn it into something more complete and truly useful for editing HTML.
-
- 10 Mar, 2005 1 commit
-
-
Robert Strandh authored
for many different language syntax modules. The display function now traverses the parse tree up as long as a valid parse tree exists. The rest of the display is done from the token sequence. It is likely that all of this can be abstracted out and put into syntax.lisp so that html-syntax would just become a client among others for this traversal. Not only is the cursor still not displayed, whitespace is not handled during the traversal of the parse tree. This will likely be fixed in the next few day.
-
- 07 Mar, 2005 1 commit
-
-
Robert Strandh authored
output of an incremental lexer and parser. This code is not complete yet: * right now, it uses only the lexer output, and not the parser * the cursor is not displayed yet * it is too slow, most likely because the output records are all in one big bag, as opposed to being tree structured, such as the lines of basic syntax. The slowness is not a serious problem, because one day, McCLIM will have tree-structured output records itself, and because most syntax modules (including this one, very soon) will have some tree structure itself. It might be worthwhile to display the part of the buffer beyond a parse error in some artificially structured way, such as by lines as in the current basic syntax.
-
- 05 Mar, 2005 5 commits
-
-
Aleksandar Bakic authored
-
Aleksandar Bakic authored
-
Aleksandar Bakic authored
-
Aleksandar Bakic authored
-
Robert Strandh authored
package. Exported some more symbols from the climacs-syntax package. Implemented a few more functions in the climacs-syntax package that can be used to travarse the parse stack. The redisplay-pane function now calls a generic function redisplay-pane-with-syntax that also takes a syntax object as argument.
-
- 04 Mar, 2005 1 commit
-
-
Robert Strandh authored
use to traverse the parse tree. This function traverses but one of the paths through the parser data structure. In general, there can be an exponential number of such paths, but we assume anyone will do as far as buffer syntax is concerned.
-
- 02 Mar, 2005 2 commits
-
-
Robert Strandh authored
the parser so that we can get to the initial state and the target of the parser from a given state. Added functions for analysing parse stack.
-
Robert Strandh authored
states of origin will define a "parse stack" that can be exploited by syntax modules and display code.
-