[climacs-cvs] CVS update: papers/ilc2005/syntax/climacs-slides.slidemacs

Brian Mastenbrook bmastenbrook at common-lisp.net
Sat Jun 18 02:02:10 UTC 2005


Update of /project/climacs/cvsroot/papers/ilc2005/syntax
In directory common-lisp.net:/tmp/cvs-serv25071

Modified Files:
	climacs-slides.slidemacs 
Log Message:
Current state of the slides

Date: Sat Jun 18 04:02:10 2005
Author: bmastenbrook

Index: papers/ilc2005/syntax/climacs-slides.slidemacs
diff -u papers/ilc2005/syntax/climacs-slides.slidemacs:1.3 papers/ilc2005/syntax/climacs-slides.slidemacs:1.4
--- papers/ilc2005/syntax/climacs-slides.slidemacs:1.3	Fri Jun 17 03:15:09 2005
+++ papers/ilc2005/syntax/climacs-slides.slidemacs	Sat Jun 18 04:02:10 2005
@@ -1,8 +1,19 @@
 slideset "Syntax Analysis in the Climacs Text Editor" {
-info { author "Brian Mastenbrook"
+info { author "Brian Mastenbrook (presenting)"
 institution "Motorola, Inc."
+author "Christophe Rhodes"
+institution "Department of Computing, Goldsmiths College"
+author "Robert Strandh"
+institution "Université Bordeaux 1"
 venue "International Lisp Conference 2005"
 date }
+slide "Outline" {
+* "What is Climacs?"
+* "Abstractions for buffer representation"
+* "Abstractions for syntax analysis"
+* "Future directions"
+* "Demos"
+}
 slide "Climacs" {
 * "An editor in the Emacs tradition"
 * "A framework for syntax-capable editing"
@@ -14,10 +25,24 @@
 * "Standard for user interfaces and graphics in Common Lisp"
 * "Free implementation in McCLIM"
 }
+slide "Comparable editors" {
+* "ZMacs - the famous Lisp machine editor"
+* "SEdit, the InterLisp structure editor"
+* "Hemlock, CMUCL's editor"
+* "FRED Resembles Emacs Deliberately"
+}
+graph "Climacs Overview" {
+vertical
+root "Buffer abstraction"
+edge from "Buffer abstraction" to "Syntax protocol"
+edge from "Syntax protocol" to "Syntax-aware applications"
+edge from "Syntax-aware applications" to "Climacs application"
+edge from "Climacs application" to "CLIM"
+}
 slide "Buffer protocol"
 {
-* "Multiple buffer implementations"
 * "Protocol for editable sequence of objects"
+* "Multiple buffer implementations"
 * "Mark implementation (left and right-sticky marks)"
 }
 slide "Buffer protocol, cont."
@@ -28,20 +53,7 @@
 }
 slide "Buffer protocol, cont."
 {
-* "Gap buffer has good performance for localized editing operations"
-* "Noticable delay to move gap in some situations"
-* "Circular gap buffer improves performance in edge cases"
-* "Slow to find line / column of given mark"
-}
-slide "Buffer protocol, cont."
-{
-* "Better implementation could combine hemlock-like doubly-linked lists of lines with gap buffer"
-* "Doubly-linked list of gap buffers would act as multiple-gap buffer"
-* "LRU scheme to convert lines to compact representation"
-}
-slide "Buffer protocol, cont."
-{
-* "Implementation using functional data structures"
+* "Another implementation using functional data structures"
 * "Efficient undo across multiple undo histories"
 }
 slide "Syntax protocol"
@@ -84,8 +96,10 @@
 slide "Lexer and Parser" {
 * "Incremental lexer creates objects for each lexeme"
 * "Parser parses lexemes into production classes"
+* "In Earley parser, parsing rules can include any code"
 }
 graph "Sample parser class hierarchy" {
+horizontal
 root "parse-tree"
 edge from "parse-tree" to "ttcn3-parse-tree"
 edge from "ttcn3-parse-tree" to "ttcn3-entry"
@@ -96,6 +110,22 @@
 edge from "ttcn3-entry" to "ttcn3-nonterminal"
 edge from "ttcn3-entry" to "ttcn3-terminal"
 }
+slide "Parser invocation" {
+* "Climacs calls update-syntax-for-display or update-syntax"
+* "Parser is passed top and bottom marks of out-of-date region"
+* "Application can call its own parser or invoke Climacs' Earley parser"
+}
+slide "Advantages of Earley" {
+* "No grammar preprocessing required"
+* "Accepts full class of context-free grammars"
+}
+slide "Incremental parsers" {
+* "Earley parser can be slow on some grammars"
+* "New Lisp mode uses a LR shift/reduce parser and keeps entire
+buffer up-to-date"
+* "Slidemacs grammar is acceptably fast on Earley parser, but not all
+languages are; worst case complexity is O(n^3)"
+}
 slide "Parse tree display" {
 * "Application controls display of parse tree"
 * "Could be a simple colorised display of text..."
@@ -108,14 +138,23 @@
 * "Slidemacs GUI-mode editor"
 }
 slide "Future directions, cont." {
-* "Beter resynchronization on parse errors"
+* "LALR parser generator"
+* "Better resynchronization on parse errors"
 * "More syntax modules"
 * "Other applications (news readers, mail) using Climacs for editable
 buffers"
 }
+slide "Conclusion" {
+* "Climacs has an exciting future"
+* "Flexible buffer protocol enables more abstract editing operations"
+* "Syntax protocol enables rich applications"
+}
 slide "Demos" {
 * "Lisp mode and incremental parser"
 * "Slidemacs mode"
 * "Tabcode editor"
+}
+slide "Thanks!" {
+* /Questions?/
 }
 }




More information about the Climacs-cvs mailing list