255 lines
12 KiB
HTML
255 lines
12 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>Sources structure (ECL Manual)</title>
|
|
|
|
<meta name="description" content="Sources structure (ECL Manual)">
|
|
<meta name="keywords" content="Sources structure (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="Developer_0027s-guide.html" rel="up" title="Developer's guide">
|
|
<link href="Contributing.html" rel="next" title="Contributing">
|
|
<style type="text/css">
|
|
<!--
|
|
/* colors */
|
|
|
|
span.r {font-family: initial; font-weight: normal; font-style: normal}
|
|
@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="Sources-structure">
|
|
<div class="nav-panel">
|
|
<p>
|
|
Next: <a href="Contributing.html" accesskey="n" rel="next">Contributing</a>, Up: <a href="Developer_0027s-guide.html" accesskey="u" rel="up">Developer’s guide</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="Sources-structure-1">4.1 Sources structure</h3>
|
|
|
|
<ul class="mini-toc">
|
|
<li><a href="Sources-structure.html#src_002fc" accesskey="1">src/c</a></li>
|
|
</ul>
|
|
<div class="subsection-level-extent" id="src_002fc">
|
|
<h4 class="subsection">4.1.1 src/c</h4>
|
|
|
|
<table class="multitable">
|
|
<tbody><tr><td><samp class="file">alloc_2.d</samp></td><td>memory allocation based on the Boehm GC</td></tr>
|
|
<tr><td><samp class="file">all_symbols.d</samp></td><td>name mangler and symbol initialization</td></tr>
|
|
<tr><td><samp class="file">apply.d</samp></td><td>interface to C call mechanism</td></tr>
|
|
<tr><td><samp class="file">arch/*</samp></td><td>architecture dependant code</td></tr>
|
|
<tr><td><samp class="file">array.d</samp></td><td>array routines</td></tr>
|
|
<tr><td><samp class="file">assignment.c</samp></td><td>assignment</td></tr>
|
|
<tr><td><samp class="file">backq.d</samp></td><td>backquote mechanism</td></tr>
|
|
<tr><td><samp class="file">big.d</samp></td><td>bignum routines based on the GMP</td></tr>
|
|
<tr><td><samp class="file">big_ll.d</samp></td><td>bignum emulation with long long</td></tr>
|
|
<tr><td><samp class="file">cfun.d</samp></td><td>compiled functions</td></tr>
|
|
<tr><td><samp class="file">cfun_dispatch.d</samp></td><td>trampolines for functions</td></tr>
|
|
<tr><td><samp class="file">character.d</samp></td><td>character routines</td></tr>
|
|
<tr><td><samp class="file">char_ctype.d</samp></td><td>character properties.</td></tr>
|
|
<tr><td><samp class="file">cinit.d</samp></td><td>lisp initialization</td></tr>
|
|
<tr><td><samp class="file">clos/accessor.d</samp></td><td>dispatch for slots</td></tr>
|
|
<tr><td><samp class="file">clos/cache.d</samp></td><td>thread-local cache for a variety of operations</td></tr>
|
|
<tr><td><samp class="file">clos/gfun.d</samp></td><td>dispatch for generic functions</td></tr>
|
|
<tr><td><samp class="file">clos/instance.d</samp></td><td>CLOS interface</td></tr>
|
|
<tr><td><samp class="file">cmpaux.d</samp></td><td>auxiliaries used in compiled Lisp code</td></tr>
|
|
<tr><td><samp class="file">compiler.d</samp></td><td>bytecode compiler</td></tr>
|
|
<tr><td><samp class="file">cons.d</samp></td><td>list manipulation macros & functions (auto generated)</td></tr>
|
|
<tr><td><samp class="file">disassembler.d</samp></td><td>bytecodes disassembler utilities</td></tr>
|
|
<tr><td><samp class="file">dpp.c</samp></td><td>defun preprocessor</td></tr>
|
|
<tr><td><samp class="file">ecl_constants.h</samp></td><td>constant values for all_symbols.d</td></tr>
|
|
<tr><td><samp class="file">ecl_features.h</samp></td><td>names of features compiled into ECL</td></tr>
|
|
<tr><td><samp class="file">error.d</samp></td><td>error handling</td></tr>
|
|
<tr><td><samp class="file">eval.d</samp></td><td>evaluation</td></tr>
|
|
<tr><td><samp class="file">ffi/backtrace.d</samp></td><td>C backtraces</td></tr>
|
|
<tr><td><samp class="file">ffi/cdata.d</samp></td><td>data for compiled files</td></tr>
|
|
<tr><td><samp class="file">ffi/libraries.d</samp></td><td>shared library and bundle opening / copying / closing</td></tr>
|
|
<tr><td><samp class="file">ffi/mmap.d</samp></td><td>mapping of binary files</td></tr>
|
|
<tr><td><samp class="file">ffi.d</samp></td><td>user defined data types and foreign functions interface</td></tr>
|
|
<tr><td><samp class="file">file.d</samp></td><td>file interface (implementation dependent)</td></tr>
|
|
<tr><td><samp class="file">format.d</samp></td><td>format (this isn’t ANSI compliant, we need it for bootstrapping though)</td></tr>
|
|
<tr><td><samp class="file">hash.d</samp></td><td>hash tables</td></tr>
|
|
<tr><td><samp class="file">interpreter.d</samp></td><td>bytecode interpreter</td></tr>
|
|
<tr><td><samp class="file">iso_latin_names.h</samp></td><td>character names in ISO-LATIN-1</td></tr>
|
|
<tr><td><samp class="file">list.d</samp></td><td>list manipulating routines</td></tr>
|
|
<tr><td><samp class="file">load.d</samp></td><td>binary loader (contains also open_fasl_data)</td></tr>
|
|
<tr><td><samp class="file">macros.d</samp></td><td>macros and environment</td></tr>
|
|
<tr><td><samp class="file">main.d</samp></td><td>ecl boot process</td></tr>
|
|
<tr><td><samp class="file">Makefile.in</samp></td><td>Makefile for ECL core library</td></tr>
|
|
<tr><td><samp class="file">mapfun.d</samp></td><td>mapping</td></tr>
|
|
<tr><td><samp class="file">multival.d</samp></td><td>multiple values</td></tr>
|
|
<tr><td><samp class="file">newhash.d</samp></td><td>hashing routines</td></tr>
|
|
<tr><td><samp class="file">num_arith.d</samp></td><td>arithmetic operations</td></tr>
|
|
<tr><td><samp class="file">number.d</samp></td><td>constructing numbers</td></tr>
|
|
<tr><td><samp class="file">numbers/*.d</samp></td><td>arithmetic operations (abs, atan, plusp etc)</td></tr>
|
|
<tr><td><samp class="file">num_co.d</samp></td><td>operations on floating-point numbers (implementation dependent)</td></tr>
|
|
<tr><td><samp class="file">num_log.d</samp></td><td>logical operations on numbers</td></tr>
|
|
<tr><td><samp class="file">num_pred.d</samp></td><td>predicates on numbers</td></tr>
|
|
<tr><td><samp class="file">num_rand.d</samp></td><td>random numbers</td></tr>
|
|
<tr><td><samp class="file">package.d</samp></td><td>packages (OS dependent)</td></tr>
|
|
<tr><td><samp class="file">pathname.d</samp></td><td>pathnames</td></tr>
|
|
<tr><td><samp class="file">predicate.d</samp></td><td>predicates</td></tr>
|
|
<tr><td><samp class="file">print.d</samp></td><td>print</td></tr>
|
|
<tr><td><samp class="file">printer/*.d</samp></td><td>printer utilities and object representations</td></tr>
|
|
<tr><td><samp class="file">read.d</samp></td><td>reader</td></tr>
|
|
<tr><td><samp class="file">reader/parse_integer.d</samp></td></tr>
|
|
<tr><td><samp class="file">reader/parse_number.d</samp></td></tr>
|
|
<tr><td><samp class="file">reference.d</samp></td><td>reference in Constants and Variables</td></tr>
|
|
<tr><td><samp class="file">sequence.d</samp></td><td>sequence routines</td></tr>
|
|
<tr><td><samp class="file">serialize.d</samp></td><td>serialize a bunch of lisp data</td></tr>
|
|
<tr><td><samp class="file">sse2.d</samp></td><td>SSE2 vector type support</td></tr>
|
|
<tr><td><samp class="file">stacks.d</samp></td><td>binding/history/frame stacks</td></tr>
|
|
<tr><td><samp class="file">string.d</samp></td><td>string routines</td></tr>
|
|
<tr><td><samp class="file">structure.d</samp></td><td>structure interface</td></tr>
|
|
<tr><td><samp class="file">symbol.d</samp></td><td>symbols</td></tr>
|
|
<tr><td><samp class="file">symbols_list.h</samp></td><td>The file has contains all symbols defined in the core.</td></tr>
|
|
<tr><td><samp class="file">tcp.d</samp></td><td>stream interface to TCP</td></tr>
|
|
<tr><td><samp class="file">time.d</samp></td><td>time routines</td></tr>
|
|
<tr><td><samp class="file">typespec.d</samp></td><td>type specifier routines</td></tr>
|
|
<tr><td><samp class="file">unicode/*</samp></td><td>unicode definitions</td></tr>
|
|
<tr><td><samp class="file">unixfsys.d</samp></td><td>Unix file system interface</td></tr>
|
|
<tr><td><samp class="file">unixint.d</samp></td><td>Unix interrupt interface.</td></tr>
|
|
<tr><td><samp class="file">unixsys.d</samp></td><td>Unix shell interface</td></tr>
|
|
<tr><td><samp class="file">vector_push.d</samp></td><td>vector optimizations</td></tr>
|
|
<tr><td><samp class="file">threads/atomic.d</samp></td><td>atomic operations</td></tr>
|
|
<tr><td><samp class="file">threads/barrier.d</samp></td><td>wait barriers</td></tr>
|
|
<tr><td><samp class="file">threads/condition_variable.d</samp></td><td>condition variables for native threads</td></tr>
|
|
<tr><td><samp class="file">threads/mailbox.d</samp></td><td>thread communication queue</td></tr>
|
|
<tr><td><samp class="file">threads/mutex.d</samp></td><td>mutually exclusive locks.</td></tr>
|
|
<tr><td><samp class="file">threads/process.d</samp></td><td>native threads</td></tr>
|
|
<tr><td><samp class="file">threads/queue.d</samp></td><td>waiting queue for threads</td></tr>
|
|
<tr><td><samp class="file">threads/rwlock.d</samp></td><td>POSIX read-write locks</td></tr>
|
|
<tr><td><samp class="file">threads/semaphore.d</samp></td><td>POSIX-like semaphores</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<hr>
|
|
<div class="nav-panel">
|
|
<p>
|
|
Next: <a href="Contributing.html" accesskey="n" rel="next">Contributing</a>, Up: <a href="Developer_0027s-guide.html" accesskey="u" rel="up">Developer’s guide</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>
|