1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en">
5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8" />
6 <meta name=
"generator" content=
"AsciiDoc 8.2.3" />
7 <style type=
"text/css">
9 p
, li
, dt
, dd
, div
, pre
, h1
, h2
, h3
, h4
, h5
, h6
{
11 border: 1px solid red;
16 margin: 1em 5% 1em 5%;
21 text-decoration: underline
;
39 h1
, h2
, h3
, h4
, h5
, h6
{
41 font-family: sans-serif
;
48 border-bottom: 2px solid silver
;
66 border: 1px solid silver
;
81 font-family: sans-serif
;
88 font-family: sans-serif
;
92 font-family: sans-serif
;
94 border-top: 2px solid silver
;
100 padding-bottom: 0.5em;
104 padding-bottom: 0.5em;
108 div
.tableblock
, div
.imageblock
, div
.exampleblock
, div
.verseblock
,
109 div
.quoteblock
, div
.literalblock
, div
.listingblock
, div
.sidebarblock
,
110 div
.admonitionblock
{
113 margin-bottom: 1.5em;
115 div
.admonitionblock
{
117 margin-bottom: 2.5em;
120 div
.content
{ /* Block element content. */
124 /* Block element titles. */
125 div
.title
, caption
.title
{
126 font-family: sans-serif
;
130 margin-bottom: 0.5em;
136 td div
.title:first-child
{
139 div
.content div
.title:first-child
{
142 div
.content
+ div
.title
{
146 div
.sidebarblock
> div
.content
{
148 border: 1px solid silver
;
155 div
.listingblock
> div
.content
{
156 border: 1px solid silver
;
161 div
.quoteblock
> div
.content
{
168 div
.verseblock
+ div
.attribution
{
172 div
.admonitionblock
.icon
{
176 text-decoration: underline
;
178 padding-right: 0.5em;
180 div
.admonitionblock td
.content
{
182 border-left: 2px solid silver
;
185 div
.exampleblock
> div
.content
{
186 border-left: 2px solid silver
;
190 div
.verseblock div
.content
{
194 div
.imageblock div
.content
{ padding-left: 0; }
195 div
.imageblock img
{ border: 1px solid silver
; }
196 span
.image img
{ border-style: none
; }
200 margin-bottom: 0.8em;
212 list-style-position: outside
;
215 list-style-type: lower-alpha
;
218 div
.tableblock
> table
{
219 border: 3px solid
#527bbd;
222 font-family: sans-serif
;
231 margin-bottom: 0.8em;
239 padding-right: 0.8em;
246 div#footer-badges
{ display: none
; }
251 font-family: sans-serif
;
255 margin-bottom: 0.1em;
258 div
.toclevel1
, div
.toclevel2
, div
.toclevel3
, div
.toclevel4
{
274 /* Workarounds for IE6's broken and incomplete CSS2. */
276 div
.sidebar-content
{
278 border: 1px solid silver
;
281 div
.sidebar-title
, div
.image-title
{
282 font-family: sans-serif
;
285 margin-bottom: 0.5em;
288 div
.listingblock div
.content
{
289 border: 1px solid silver
;
294 div
.quoteblock-content
{
298 div
.exampleblock-content
{
299 border-left: 2px solid silver
;
303 /* IE6 sets dynamically generated links as visited. */
304 div#toc
a:visited
{ color: blue
; }
306 <script type=
"text/javascript">
308 window
.onload = function(){generateToc(2)}
309 /* Author: Mihai Bazon, September 2002
310 * http://students.infoiasi.ro/~mishoo
312 * Table Of Content generator
315 * Feel free to use this script under the terms of the GNU General Public
316 * License, as long as you do not remove or alter this notice.
319 /* modified by Troy D. Hanson, September 2006. License: GPL */
320 /* modified by Stuart Rackham, October 2006. License: GPL */
322 function getText(el
) {
324 for (var i
= el
.firstChild
; i
!= null; i
= i
.nextSibling
) {
325 if (i
.nodeType
== 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
327 else if (i
.firstChild
!= null)
333 function TocEntry(el
, text
, toclevel
) {
336 this.toclevel
= toclevel
;
339 function tocEntries(el
, toclevels
) {
340 var result
= new Array
;
341 var re
= new RegExp('[hH]([2-'+(toclevels
+1)+'])');
342 // Function that scans the DOM tree for header elements (the DOM2
343 // nodeIterator API would be a better technique but not supported by all
345 var iterate = function (el
) {
346 for (var i
= el
.firstChild
; i
!= null; i
= i
.nextSibling
) {
347 if (i
.nodeType
== 1 /* Node.ELEMENT_NODE */) {
348 var mo
= re
.exec(i
.tagName
)
350 result
[result
.length
] = new TocEntry(i
, getText(i
), mo
[1]-1);
359 // This function does the work. toclevels = 1..4.
360 function generateToc(toclevels
) {
361 var toc
= document
.getElementById("toc");
362 var entries
= tocEntries(document
.getElementsByTagName("body")[0], toclevels
);
363 for (var i
= 0; i
< entries
.length
; ++i
) {
364 var entry
= entries
[i
];
365 if (entry
.element
.id
== "")
366 entry
.element
.id
= "toc" + i
;
367 var a
= document
.createElement("a");
368 a
.href
= "#" + entry
.element
.id
;
369 a
.appendChild(document
.createTextNode(entry
.text
));
370 var div
= document
.createElement("div");
372 div
.className
= "toclevel" + entry
.toclevel
;
373 toc
.appendChild(div
);
383 <span id=
"author">Michael Hohn
</span><br />
384 <span id=
"email"><tt><<a href=
"mailto:mhhohn@users.sf.net">mhhohn@users.sf.net
</a>></tt></span><br />
386 <div id=
"toctitle">Table of Contents
</div>
387 <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.
</b></p></noscript>
390 <h2 id=
"_name">1. NAME
</h2>
391 <div class=
"sectionbody">
392 <div class=
"para"><p>l3 - interpret l3 programs
</p></div>
394 <h2 id=
"_synopsis">2. SYNOPSIS
</h2>
395 <div class=
"sectionbody">
396 <div class=
"para"><p><em>l3
</em> [-f FILE] [-l STATE_LOAD] [-s STATE_SAVE] [-i] [-d] [-h]
</p></div>
398 <h2 id=
"_description">3. DESCRIPTION
</h2>
399 <div class=
"sectionbody">
400 <div class=
"para"><p>The
<a href=
"l3.html">l3(
1)
</a> command executes
<a href=
"l3lang.html">l3lang(
1)
</a>
401 scripts in files and provides an interactive toplevel for expression
402 evaluation via
<strong>-i
</strong>.
</p></div>
403 <div class=
"para"><p>This command-line version is best used for unattended execution; to
404 fully use l3 requires the graphical interface; see
405 <a href=
"l3gui.html">l3gui(
1)
</a>.
</p></div>
406 <h3 id=
"_batch_mode">3.1. Batch mode
</h3><div style=
"clear:left"></div>
407 <div class=
"para"><p>When a FILE argument is present (-f), the FILE is executed. Execution
408 continues until the end-of-file is reached, or an error is
409 encountered. In both cases a state file is produced (either FILE.l3s,
410 or STATE_SAVE from -s) along with whatever output FILE produced.
</p></div>
411 <div class=
"para"><p>When a STATE_LOAD argument is given (-l), the state is loaded. This
412 implicitly loads the script FILE that originally produced STATE_LOAD.
413 Then, this original script is scanned and
<strong>new
</strong> expressions are
414 executed. Expressions previously executed successfully are
<strong>not
</strong>
415 executed again. The final state is written back to STATE_LOAD, or
416 STATE_SAVE if -s was given.
</p></div>
417 <h3 id=
"_interactive_mode">3.2. Interactive mode
</h3><div style=
"clear:left"></div>
418 <div class=
"para"><p>When -i is given, any files specified are executed first, and the
419 toplevel started after. If any error occurs, the error is printed
420 and the toplevel is entered immediately, even if unread files
422 <div class=
"para"><p>Expressions entered at the toplevel are executed immediately. The
423 expressions are appended to the current FILE if present, otherwise
424 they form a new script. On end-of-file, the the state is saved in one
425 of STATE_SAVE, STATE_LOAD, FILE.l3s, or st.l3s (in that order), and
426 the interpreter exits.
</p></div>
427 <div class=
"para"><p>Errors simply cause a return to the toplevel.
</p></div>
429 <h2 id=
"_options">4. OPTIONS
</h2>
430 <div class=
"sectionbody">
431 <div class=
"vlist"><dl>
445 show program's version number and exit
453 show this help message and exit
457 -f FILE,
—file=FILE
461 Execute this script in l3.
465 -l STATE_LOAD,
—state_load=STATE_LOAD
469 Start l3 from this state file.
473 -s STATE_SAVE,
—state_save=STATE_SAVE
477 Save l3 state to this file.
481 -i,
—interactive
485 Go to Python console on exit. This allows moving
486 between Python and l3. To restart, use l3.run()
494 Import all l3 modules (from
… import *) when using
495 -i. Allows for interactive Python code updates.
500 <h2 id=
"_environment">5. ENVIRONMENT
</h2>
501 <div class=
"sectionbody">
502 <div class=
"para"><p><tt>L3HOME
</tt> The path to the l3 installation root.
</p></div>
504 <h2 id=
"_see_also">6. SEE ALSO
</h2>
505 <div class=
"sectionbody">
506 <div class=
"para"><p><a href=
"l3lang.html">l3lang(
1)
</a>,
507 <a href=
"l3gui.html">l3gui(
1)
</a>.
</p></div>
509 <h2 id=
"_author">7. AUTHOR
</h2>
510 <div class=
"sectionbody">
511 <div class=
"para"><p>Michael Hohn, mhhohn@users.sf.net
</p></div>
513 <h2 id=
"_copying">8. COPYING
</h2>
514 <div class=
"sectionbody">
515 <div class=
"para"><p>Copyright
© 2004-
8 Lawrence Berkeley National Laboratory
</p></div>
516 <div class=
"para"><p>l3 is released under the BSD license. See license.txt for details.
</p></div>
519 <div id=
"footer-text">
520 Last updated
2008-
04-
16 14:
40:
40 PDT