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

Brian Mastenbrook bmastenbrook at common-lisp.net
Wed Jun 22 17:01:39 UTC 2005


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

Modified Files:
	climacs-slides.slidemacs 
Log Message:
Add the current version of the slides

Date: Wed Jun 22 19:01:38 2005
Author: bmastenbrook

Index: papers/ilc2005/syntax/climacs-slides.slidemacs
diff -u papers/ilc2005/syntax/climacs-slides.slidemacs:1.4 papers/ilc2005/syntax/climacs-slides.slidemacs:1.5
--- papers/ilc2005/syntax/climacs-slides.slidemacs:1.4	Sat Jun 18 04:02:10 2005
+++ papers/ilc2005/syntax/climacs-slides.slidemacs	Wed Jun 22 19:01:38 2005
@@ -8,24 +8,28 @@
 venue "International Lisp Conference 2005"
 date }
 slide "Outline" {
-* "What is Climacs?"
-* "Abstractions for buffer representation"
-* "Abstractions for syntax analysis"
-* "Future directions"
+* "What is Climacs? Why Climacs?"
+* "How does it work?"
+* "What will it do in the future?"
 * "Demos"
 }
 slide "Climacs" {
 * "An editor in the Emacs tradition"
 * "A framework for syntax-capable editing"
 * "A CLIM application"
-* "Protocols for buffer implementation and syntax analysis"
 }
 slide "CLIM" {
 * "The Common Lisp Interface Manager"
 * "Standard for user interfaces and graphics in Common Lisp"
 * "Free implementation in McCLIM"
 }
-slide "Comparable editors" {
+slide "Climacs in CLIM" {
+* "Display implemented with arbitrary CLIM methods"
+* "Here's a presentation:"
+reveal "This is a presentation object" "... and this is something it
+can do"
+}
+slide "Historical editors" {
 * "ZMacs - the famous Lisp machine editor"
 * "SEdit, the InterLisp structure editor"
 * "Hemlock, CMUCL's editor"
@@ -62,23 +66,36 @@
 * "Support for incremental lexers and parsers"
 * "BYO or use the included Earley parser"
 }
-slide "Syntax protocol, cont."
-{
-* "Two major kinds of syntax modes"
-* "Per-window parsing functions"
-* "Per-buffer parsing functions"
+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"
 }
-slide "Syntax protocol, cont."
-{
-* "Per-window parsing keeps parse tree up to date in window area"
-* "Useful when parser function is slow"
-* "Not suitable when parse tree is used for something else"
+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"
+edge from "ttcn3-entry" to "ttcn3-lexeme"
+edge from "ttcn3-lexeme" to /lexeme classes/
+edge from "ttcn3-entry" to /parser production classes/
+edge from "ttcn3-entry" to "empty-ttcn3-terminals"
+edge from "ttcn3-entry" to "ttcn3-nonterminal"
+edge from "ttcn3-entry" to "ttcn3-terminal"
+}
+slide "Parser invocation: update-syntax" {
+* "(update-syntax buffer (syntax buffer))"
+* "buffer has two slots containing marks: top and bot"
+* "top and bot denote the region which is out-of-date"
+* "Application can call its own parser or invoke Climacs' Earley
+parser"
 }
 slide "Syntax protocol, cont."
 {
+* "Specializing update-syntax implements per-buffer parsing"
 * "Per-buffer parsing keeps whole buffer parse tree up to date"
 * "Useful when parser function is fast, or"
-* "when parse tree is used for another application"
+* "when complete parse tree is used for another application"
 }
 slide "Per-window parsing"
 {
@@ -87,33 +104,38 @@
 * "TTCN-3"
 * "HTML"
 }
+slide "Parser invocation: update-syntax-for-display" {
+* "Pane calls update-syntax-for-display with on-screen region"
+* "Application updates syntax in the on-screen region"
+* "Parsing is based on already up-to-date off-screen region"
+}
+slide "Syntax protocol, cont."
+{
+* "Specializing update-syntax-for-display implements per-window parsing"
+* "Per-window parsing keeps parse tree up to date in window area"
+* "Useful when parser function is slow"
+* "Not suitable when parse tree is used for something else"
+}
 slide "Per-buffer parsing"
 {
 * "New Lisp syntax (parsing is fast)"
 * "Slidemacs syntax (used for slide display)"
 * "Tabcode editor (used for tablature display)"
 }
-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"
+slide "Display" {
+* "Climacs is a good CLIM citizen"
+* "This means you can use any presentation type or display in a syntax"
 }
-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"
-edge from "ttcn3-entry" to "ttcn3-lexeme"
-edge from "ttcn3-lexeme" to /lexeme classes/
-edge from "ttcn3-entry" to /parser production classes/
-edge from "ttcn3-entry" to "empty-ttcn3-terminals"
-edge from "ttcn3-entry" to "ttcn3-nonterminal"
-edge from "ttcn3-entry" to "ttcn3-terminal"
+slide "Parse tree display" {
+* "Application controls display of parse tree"
+* "Could be a simple colorised display of text..."
+* "... or a specialized display of the parse tree"
 }
-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 "Parse tree display, cont." {
+* "Or it could be any CLIM presentation:"
+url "http://www.common-lisp.net/project/climacs/"
+reveal "Another presentation" "Hello, world!"
+* "Where's the information for that popup?"
 }
 slide "Advantages of Earley" {
 * "No grammar preprocessing required"
@@ -126,11 +148,6 @@
 * "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..."
-* "... or a specialized display of the parse tree"
-}
 slide "Future directions" {
 * "More improvements to McCLIM (speed, completeness)"
 * "Better Lisp mode"
@@ -151,10 +168,12 @@
 }
 slide "Demos" {
 * "Lisp mode and incremental parser"
+* "Prolog mode"
 * "Slidemacs mode"
 * "Tabcode editor"
 }
 slide "Thanks!" {
 * /Questions?/
+url "http://www.common-lisp.net/project/climacs/"
 }
 }




More information about the Climacs-cvs mailing list