[climacs-cvs] CVS update: papers/ilc2005/syntax/climacssyntax.tex
Robert Strandh
rstrandh at common-lisp.net
Tue May 24 11:43:08 UTC 2005
Update of /project/climacs/cvsroot/papers/ilc2005/syntax
In directory common-lisp.net:/tmp/cvs-serv29989
Modified Files:
climacssyntax.tex
Log Message:
Minor fixes.
Included a paragraph on CL syntax.
Date: Tue May 24 13:43:08 2005
Author: rstrandh
Index: papers/ilc2005/syntax/climacssyntax.tex
diff -u papers/ilc2005/syntax/climacssyntax.tex:1.26 papers/ilc2005/syntax/climacssyntax.tex:1.27
--- papers/ilc2005/syntax/climacssyntax.tex:1.26 Tue May 24 11:20:19 2005
+++ papers/ilc2005/syntax/climacssyntax.tex Tue May 24 13:43:08 2005
@@ -188,10 +188,10 @@
combines the previous two implementations, by using a tree whose leaf
nodes contain the optimized trees representing lines; the benefit of
this implementation are faster ($O(\log~N)$) operations dealing with
-lines and columns. All the three implementations enable simple and
+lines and columns. All three implementations enable simple and
inexpensive undo/redo operations because older buffer versions are
kept as a whole in memory. The space cost of these implementations is
-not negligible, however, significant portions of older buffer versions
+not negligible. However, significant portions of older buffer versions
are simply shared with newer buffer versions. Also, it is not
necessary separately to remember editing operations in undo records,
in order to preserve precise buffer history. Besides the undo
@@ -238,14 +238,16 @@
character must be examined to determine the number of octets which are
stored to represent that character.
-The Flexichain library uses an unspecialized vector for its storage,
-which uses one machine word per element, either as an immediate value
-or as a pointer to a larger element. Climacs buffers can contain any
-object, so in a suitably complex syntax and buffer protocol
-implementation any buffer object might correspond to an arbitrary
-number of bytes in the file. For instance, it is concievable that a
-buffer implementation might compress sections of the buffer which are
-not in use.
+The Flexichain library was designed to be able to take advantage of
+specialized lisp vectors for compact storage, though this possibility
+is not used by the Climacs buffer implementation. Instead Climacs
+uses an unspecialized vector for its storage, which uses one machine
+word per element, either as an immediate value or as a pointer to a
+larger element. Climacs buffers can contain any object, so in a
+suitably complex syntax and buffer protocol implementation any buffer
+object might correspond to an arbitrary number of bytes in the
+file. For instance, it is concievable that a buffer implementation
+might compress sections of the buffer which are not in use.
\section{Syntax Protocol}
\label{sec:syntax}
@@ -291,7 +293,7 @@
Climacs includes a parser that uses the Earley \cite{earley} parsing
algorithm. There are many advantages of this algorithm in the context
of text editing. Perhaps most importantly, it does not require any
-preprocessing of the grammar, which makes it necessary for the entire
+preprocessing of the grammar, which would make it necessary for the entire
grammar to be known ahead of time. This means that the user can
load Lisp files containing additional syntax rules to complete the
existing ones without having to apply any costly grammar analysis.
@@ -396,6 +398,13 @@
macro defines basic display functions for the syntax objects produced
by the parser, with language keywords appearing in a separate color.
+Much like the other per-window syntax modules, the one for Common Lisp
+uses high-level macros, some of which come with the Earley parser
+framework in order to build a highly modular grammar for parsing all
+of the Common Lisp language. This syntax module was built by a group
+of undergraduate students at the University of Bordeaux, and is
+currently being tested and improved.
+
\subsection{Per-Buffer Syntax: a tablature editor}
\label{sec:tabeditor}
@@ -547,7 +556,7 @@
some serious limitations and performance problems of the McCLIM
library. Nevertheless, we maintain that using CLIM and McCLIM was the
best choice, and in fact advantageous to other McCLIM users as well,
-as the deficiencies in McCLIM implementation are being addressed and
+as the deficiencies in the McCLIM implementation are being addressed and
other improvements made for use with Climacs.
Due to its reliance on fairly well-defined protocols, the Climacs text
More information about the Climacs-cvs
mailing list