version 1.45, 2002/03/20 17:10:38
|
version 1.46, 2002/10/21 16:58:03
|
Line 4
|
Line 4
|
<html xmlns="http://www.w3.org/1999/xhtml"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<head> |
<title>The Languages of Thot</title> |
<title>The Languages of Thot</title> |
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> |
|
</head> |
</head> |
|
|
<body> |
<body> |
Line 16
|
Line 15
|
|
|
<h4>Translated from French by Ethan Munson</h4> |
<h4>Translated from French by Ethan Munson</h4> |
|
|
<h4>Version of March 5, 2002</h4> |
<h4>Version of October 21, 2002</h4> |
|
|
<p>© 1996-2002 INRIA</p> |
<p>© 1996-2002 INRIA</p> |
<hr /> |
<hr /> |
Line 6094 translator.</p>
|
Line 6093 translator.</p>
|
<p>A buffer is a unit of memory managed by the translator, which can either |
<p>A buffer is a unit of memory managed by the translator, which can either |
contain text read from the terminal during the translation (see the <a |
contain text read from the terminal during the translation (see the <a |
href="#sectc5212"><tt>Read</tt> rule</a>), or the name of the last picture |
href="#sectc5212"><tt>Read</tt> rule</a>), or the name of the last picture |
(bit-map) encountered by the translator in its traversal of the document. |
(bit-map) encountered by the translator in its traversal of the document, or |
Remember the pictures are stored in files that are separate for the document |
a character string set by program. Remember the pictures are stored in files |
files and that the canonical form contains only the names of the files in |
that are separate for the document files and that the canonical form contains |
which the pictures are found.</p> |
only the names of the files in which the pictures are found.</p> |
|
|
<p>Thus, there are two types of buffers: buffers for reading from the |
<p>Thus, there are three types of buffers: buffers for reading from the |
terminal (filled by the <tt>Read</tt> rule) and the buffer of picture names |
terminal (filled by the <tt>Read</tt> rule), the buffer of picture names |
(containing the name of the last picture encountered). A translation schema |
(containing the name of the last picture encountered) and buffer filled by |
can use either type, one or several read buffers and one (and only one) |
programs (see function <code>SetVariableBuffer</code> in the code) also |
picture name buffer.</p> |
called <em>variable buffers</em>. A translation schema can use all types of |
|
buffers, one or several read buffers, one (and only one) picture name buffer, |
|
and one or several variable buffers.</p> |
|
|
<p>If any buffers are used, the <tt>BUFFERS</tt> keyword must be present, |
<p>If any buffers are used, the <tt>BUFFERS</tt> keyword must be present, |
followed by declarations of every buffer used in the translation schema. Each |
followed by declarations of every buffer used in the translation schema. Each |
buffer declaration is composed only of the name of the buffer, chosen freely |
buffer declaration is composed of the name of the buffer, chosen freely by |
by the programmer. The picture name buffer is identified by the |
the programmer, followed by a keyword between parentheses to define the type |
<tt>Picture</tt> keyword, between parentheses, following the buffer name. The |
of the buffer (read buffers do not require any keyword, as they are the |
<tt>Picture</tt> keyword may only appear once. Each buffer declaration is |
default type). The picture name buffer is identified by the <tt>Picture</tt> |
terminated by a semicolon.</p> |
keyword, between parentheses, following the buffer name. The <tt>Picture</tt> |
<pre> BufferSeq = Buffer < Buffer > . |
keyword may only appear once. A variable buffer is identified by the |
Buffer = BufferID [ '(' 'Picture' ')' ] ';' . |
<tt>Variable</tt> keyword, between parentheses, following the buffer name. |
BufferID = NAME .</pre> |
Each buffer declaration is terminated by a semicolon.</p> |
|
<pre> BufferSeq = Buffer < Buffer > . |
|
Buffer = BufferID [ '(' BufferType ')' ] ';' . |
|
BufferID = NAME . |
|
BufferType = 'Picture' / 'Variable' .</pre> |
|
|
<blockquote class="example"> |
<blockquote class="example"> |
<p><strong>Example:</strong></p> |
<p><strong>Example:</strong></p> |
Line 8222 END</pre>
|
Line 8227 END</pre>
|
LineLength = NUMBER . |
LineLength = NUMBER . |
|
|
BufferSeq = Buffer < Buffer > . |
BufferSeq = Buffer < Buffer > . |
Buffer = BufferID [ '(' 'Picture' ')' ] ';' . |
Buffer = BufferID [ '(' BufferType ')' ] ';' . |
BufferID = NAME . |
BufferID = NAME . |
|
BufferType = 'Picture' / 'Variable' . |
|
|
CounterSeq = Counter < Counter > . |
CounterSeq = Counter < Counter > . |
Counter = CounterID [ ':' CounterFunc ] ';' . |
Counter = CounterID [ ':' CounterFunc ] ';' . |