209 lines
9.5 KiB
HTML
209 lines
9.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<title>Reader (ECL Manual)</title>
|
|
|
|
<meta name="description" content="Reader (ECL Manual)">
|
|
<meta name="keywords" content="Reader (ECL Manual)">
|
|
<meta name="resource-type" content="document">
|
|
<meta name="distribution" content="global">
|
|
<meta name="Generator" content="makeinfo">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
|
|
<link href="index.html" rel="start" title="Top">
|
|
<link href="Indexes.html" rel="index" title="Indexes">
|
|
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
|
|
<link href="Standards.html" rel="up" title="Standards">
|
|
<link href="System-construction.html" rel="next" title="System construction">
|
|
<link href="Printer.html" rel="prev" title="Printer">
|
|
<style type="text/css">
|
|
<!--
|
|
/* colors */
|
|
|
|
span.r {font-family: initial; font-weight: normal; font-style: normal}
|
|
ul.mark-bullet {list-style-type: disc}
|
|
@media (prefers-color-scheme: dark) {
|
|
/* dark theme */
|
|
html { color: seashell;
|
|
background: #1A1A1A; }
|
|
body { background: #1A1A1A; }
|
|
th { border-bottom: 2px solid lightgray; }
|
|
h1, h2, h3, h4, h5 { background-image: linear-gradient(to left, #202020, #3A3A3A); }
|
|
code, var, code a { color: darkorange;
|
|
background: #2A2A2A; }
|
|
a { color: seashell; }
|
|
pre { background: #2A2A2A;
|
|
color: seashell;
|
|
/* mark longer code block with stripe on the left */
|
|
border-left: 5px solid darkorange;
|
|
padding-left: 10px; }
|
|
pre.screen { background: #2A2A2A;
|
|
border: 1px solid lightgray; }
|
|
pre.programlisting { background: #2A2A2A;
|
|
border-left: 1px solid lightgray;
|
|
border-top: 1px solid lightgray; }
|
|
/* we need a light background in order for the images to be readable */
|
|
img { background: white }
|
|
}
|
|
@media (prefers-color-scheme: light) {
|
|
/* light theme */
|
|
html { background: white }
|
|
body { background: white }
|
|
th { border-bottom: 2px solid gray; }
|
|
h1, h2, h3, h4, h5 { background: lightgray; }
|
|
code, var, code a { color: darkred;
|
|
background: whitesmoke; }
|
|
a { color: #000; }
|
|
pre { background: whitesmoke;
|
|
color: black;
|
|
/* mark longer code block with stripe on the left */
|
|
border-left: 5px solid darkred;
|
|
padding-left: 10px; }
|
|
pre.screen { background: #EEE;
|
|
border: 1px solid black; }
|
|
pre.programlisting { background: #EEEEEE;
|
|
border-left: 1px solid black;
|
|
border-top: 1px solid black; }
|
|
}
|
|
|
|
body {
|
|
margin: 1em 125px 0 10%;
|
|
line-height: 1.5em;
|
|
padding: 0 2em 1em 2em;
|
|
font: 13px Verdana,Arial, sans-serif
|
|
}
|
|
ul, dd, dl, dt { margin-top: 0; margin-bottom: 0; }
|
|
p, code, td, dl, dt {
|
|
line-height: 1.5em;
|
|
}
|
|
table {
|
|
font: inherit;
|
|
border-collapse: collapse;
|
|
}
|
|
th, td {
|
|
vertical-align: top;
|
|
}
|
|
h1, h2, h3 { padding-left: 15px; }
|
|
h4, h5 { padding-left: 5px; }
|
|
code, pre {
|
|
font-size: 1em;
|
|
font-family: monospace;
|
|
}
|
|
var {
|
|
font-size: 1em;
|
|
}
|
|
/* links inside code appear the same as the code itself */
|
|
code a {
|
|
font-weight: normal;
|
|
text-decoration: none;
|
|
}
|
|
/* but get an underline when hovering */
|
|
code a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
/* ordinary links appear in bold */
|
|
a { font-weight: bold; }
|
|
pre.verbatim {
|
|
margin: 0 0 0 0;
|
|
}
|
|
pre {
|
|
overflow: auto;
|
|
}
|
|
pre.screen {
|
|
font-weight: bold;
|
|
padding: 0.5em;
|
|
}
|
|
pre.programlisting {
|
|
padding: 0.5em;
|
|
}
|
|
div p { padding: 0 2em }
|
|
li p { padding: 0; margin: 0 }
|
|
hr { display: none; }
|
|
div.funcsynopsis p {
|
|
text-indent: -2em;
|
|
}
|
|
div.variablelist {
|
|
padding: 0 2em;
|
|
}
|
|
.type, .funcsynopsis, .symbol {
|
|
font-family: monospace;
|
|
}
|
|
.type, .symbol, .replaceable {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
-->
|
|
</style>
|
|
|
|
|
|
</head>
|
|
|
|
<body lang="en">
|
|
<div class="section-level-extent" id="Reader">
|
|
<div class="nav-panel">
|
|
<p>
|
|
Next: <a href="System-construction.html" accesskey="n" rel="next">System construction</a>, Previous: <a href="Printer.html" accesskey="p" rel="prev">Printer</a>, Up: <a href="Standards.html" accesskey="u" rel="up">Standards</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Indexes.html" title="Index" rel="index">Index</a>]</p>
|
|
</div>
|
|
<h3 class="section" id="Reader-1">2.21 Reader</h3>
|
|
|
|
<ul class="mini-toc">
|
|
<li><a href="Reader.html#g_t_002aread_002dsupress_002a" accesskey="1"><code class="code">*read-supress*</code></a></li>
|
|
<li><a href="Reader.html#C-Reference-20" accesskey="2">C Reference</a></li>
|
|
</ul>
|
|
<div class="subsection-level-extent" id="g_t_002aread_002dsupress_002a">
|
|
<h4 class="subsection">2.21.1 <code class="code">*read-supress*</code></h4>
|
|
<p>The behaviour of <code class="code">*read-supress*</code> is not fully specified in the
|
|
standard. ECL tries to be as liberal as possible in the syntax that it
|
|
accepts when <code class="code">*read-suppress*</code> is true. Errors are only signaled
|
|
in the following cases:
|
|
</p><ul class="itemize mark-bullet">
|
|
<li>End of file
|
|
</li><li>Unbalanced parantheses
|
|
</li><li>Invalid dispatching macro characters such as <code class="code"><</code> or <code class="code">)</code> (Undefined dispatching macro characters don’t produce errors)
|
|
</li></ul>
|
|
|
|
</div>
|
|
<div class="subsection-level-extent" id="C-Reference-20">
|
|
<h4 class="subsection">2.21.2 C Reference</h4>
|
|
|
|
<ul class="mini-toc">
|
|
<li><a href="Reader.html#ANSI-Dictionary-12" accesskey="1">ANSI Dictionary</a></li>
|
|
</ul>
|
|
<div class="subsubsection-level-extent" id="ANSI-Dictionary-12">
|
|
<h4 class="subsubsection">2.21.2.1 ANSI Dictionary</h4>
|
|
<p>Common Lisp and C equivalence
|
|
</p>
|
|
<table class="multitable">
|
|
<thead><tr><th width="30%">Lisp symbol</th><th width="70%">C function</th></tr></thead>
|
|
<tbody><tr><td width="30%"><a class="url" href="http://www.lispworks.com/documentation/HyperSpec/Body/f_cp_rdt.htm">copy-readtable</a></td><td width="70%">cl_object cl_copy_readtable(cl_narg narg, ...)</td></tr>
|
|
<tr><td width="30%"><a class="url" href="http://www.lispworks.com/documentation/HyperSpec/Body/f_mk_dis.htm">make-dispatch-macro-character</a></td><td width="70%">cl_object cl_make_dispatch_macro_character(cl_narg narg, cl_object char, ...)</td></tr>
|
|
<tr><td width="30%"><a class="url" href="http://www.lispworks.com/documentation/HyperSpec/Body/f_rd_rd.htm">read</a></td><td width="70%">cl_object cl_read(cl_narg narg, ...)</td></tr>
|
|
<tr><td width="30%"><a class="url" href="http://www.lispworks.com/documentation/HyperSpec/Body/f_rd_rd.htm">read-preserving-whitespace</a></td><td width="70%">cl_object cl_read_preserving_whitespace(cl_narg narg, ...)</td></tr>
|
|
<tr><td width="30%"><a class="url" href="http://www.lispworks.com/documentation/HyperSpec/Body/f_rd_de1.htm">read-delimited-list</a></td><td width="70%">cl_object cl_read_delimited_list(cl_narg narg, cl_object char, ...)</td></tr>
|
|
<tr><td width="30%"><a class="url" href="http://www.lispworks.com/documentation/HyperSpec/Body/f_rd_fro.htm">read-from-string</a></td><td width="70%">cl_object cl_read_from_string(cl_narg narg, cl_object string, ...)</td></tr>
|
|
<tr><td width="30%"><a class="url" href="http://www.lispworks.com/documentation/HyperSpec/Body/f_rdtab1.htm">readtable-case</a></td><td width="70%">cl_object cl_readtable_case(cl_object readtable)</td></tr>
|
|
<tr><td width="30%"><a class="url" href="http://www.lispworks.com/documentation/HyperSpec/Body/f_rdtab1.htm">(setf readtable-case)</a></td><td width="70%">cl_object si_readtable_case_set(cl_object readtable, cl_object mode)</td></tr>
|
|
<tr><td width="30%"><a class="url" href="http://www.lispworks.com/documentation/HyperSpec/Body/f_rdta_1.htm">readtablep</a></td><td width="70%">cl_object cl_readtablep(cl_object object)</td></tr>
|
|
<tr><td width="30%"><a class="url" href="http://www.lispworks.com/documentation/HyperSpec/Body/f_set__1.htm">get-dispatch-macro-character</a></td><td width="70%">cl_object cl_get_dispatch_macro_character(cl_narg narg, cl_object disp_char, cl_object sub_char, ...)</td></tr>
|
|
<tr><td width="30%"><a class="url" href="http://www.lispworks.com/documentation/HyperSpec/Body/f_set__1.htm">set-dispatch-macro-character</a></td><td width="70%">cl_object cl_set_dispatch_macro_character(cl_narg narg, cl_object disp_char, cl_object sub_char, cl_object function, ...)</td></tr>
|
|
<tr><td width="30%"><a class="url" href="http://www.lispworks.com/documentation/HyperSpec/Body/f_set_ma.htm">get-macro-character</a></td><td width="70%">cl_object cl_get_macro_character(cl_narg narg, cl_object char, ...)</td></tr>
|
|
<tr><td width="30%"><a class="url" href="http://www.lispworks.com/documentation/HyperSpec/Body/f_set_ma.htm">set-macro-character</a></td><td width="70%">cl_object cl_set_macro_character(cl_narg narg, cl_object char, cl_object function, ...)</td></tr>
|
|
<tr><td width="30%"><a class="url" href="http://www.lispworks.com/documentation/HyperSpec/Body/f_set_sy.htm">set-syntax-from-char</a></td><td width="70%">cl_object cl_set_syntax_from_char(cl_narg narg, cl_object to_char, cl_object from_char, ...)</td></tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<hr>
|
|
<div class="nav-panel">
|
|
<p>
|
|
Next: <a href="System-construction.html" accesskey="n" rel="next">System construction</a>, Previous: <a href="Printer.html" accesskey="p" rel="prev">Printer</a>, Up: <a href="Standards.html" accesskey="u" rel="up">Standards</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Indexes.html" title="Index" rel="index">Index</a>]</p>
|
|
</div>
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|