34.3. Files
Prev | Chapter 34. The source files of CLISP | Next

## 34.3. Files

### 34.3.1. Unpreprocessed C code

#### 34.3.1.1. Includes

`src/lispbibl.d`
  main include file
`src/fsubr.d`
  list of all built-in special forms
`src/subr.d`
  list of all built-in functions
`src/pseudofun.d`
  list of all “pseudo functions”
`src/constpack.d`
  list of packages accessed by C code
`src/constsym.d`
  list of symbols accessed by C code
`src/constobj.d`
  list of miscellaneous objects accessed by C code
`src/unix.d`
  include file for the UNIX implementations
`src/win32.d`
  include file for the Win32 based versions
`src/xthread.d`
  include file for thread support
`src/modules.h`
  list of foreign modules

#### 34.3.1.2. Internal C Modules

`src/spvw.d`

  Memory management (garbage-collection), startup; some OS interface.

  `src/avl.d`
    An implementation of AVL (Adelson-Velskii and Landis) trees.
  `src/sort.d`
    A sorting routine.
  `src/subrkw.d`
    The list of all built-in functions with keywords in lambda list.

`src/spvwtabf.d`
  The table of built-in special operators and functions.
`src/spvwtabs.d`
  The table of all `SYMBOL`s accessed by C code.
`src/spvwtabo.d`
  The table of miscellaneous objects accessed by C code.
`src/eval.d`

  Evaluator (form interpreter) and bytecode interpreter.

  `src/bytecode.d`
    List of bytecodes.
`src/control.d`
  Special operator interpreter.
`src/pathname.d`
  Pathnames, file- and directory-related functions.
`src/stream.d`
  `STREAM`s of all kinds: `FILE-STREAM`s, terminal streams, `STRING-STREAM`s etc.
`src/socket.d`
  Opening sockets for `TCP`/`IP` and CLX.
`src/io.d`
  The lisp reader (parser) and printer (including pretty printer).
`src/array.d`
  Functions dealing with `ARRAY`s and `VECTOR`s.
`src/hashtabl.d`
  Functions dealing with `HASH-TABLE`s.
`src/list.d`
  Functions dealing with `LIST`s.
`src/package.d`
  Functions dealing with `PACKAGE`s.
`src/record.d`
  Functions dealing with records (structures, closures, etc.)
`src/sequence.d`
  The generic `SEQUENCE` functions.
`src/funarg.d`
  Functional arguments, like `:TEST` and `:KEY`.
`src/charstrg.d`
  Functions dealing with `CHARACTER`s and `STRING`s.
`src/debug.d`
  Support for debugging and the read-eval-print loop (see Section 25.2, “Debugging Utilities ”).
`src/error.d`

  `ERROR` handling and `SIGNAL`ing.

  `src/errunix.d`
    UNIX-specific error messages.
  `src/errwin32.d`
    Win32-specific error messages.
`src/misc.d`
  Miscellaneous functions.
`src/time.d`
  Timing functions.
`src/predtype.d`
  Predicates, type tests.
`src/symbol.d`
  Functions dealing with `SYMBOL`s.
`src/unixaux.d`
  Auxiliary functions (UNIX version only).
`src/win32aux.d`
  Auxiliary functions (Win32 version only).
`src/foreign.d`
  “FFI” support.
`src/lisparit.d`
  Functions dealing with numbers (arithmetic), see Section 34.3.1.3, “Number system (arithmetic)”.
`src/noreadline.d`
  Dummy plug-in for the GNU readline library.

#### 34.3.1.3. Number system (arithmetic)

`src/lisparit.d`
  initialization, input/output of numbers, lisp functions
`src/aridecl.d`
  declarations
`src/arilev0.d`
  arithmetic at the machine level
`src/arilev1.d`
  digit sequences
`src/arilev1c.d`
  operations on digit sequences, written in C
`src/arilev1i.d`
  operations on digit sequences, as inline functions
`src/arilev1e.d`
  operations on digit sequences, bindings to external routines
`src/intelem.d`
  `INTEGER`s: elementary operations
`src/intlog.d`
  `INTEGER`s: logical connectives
`src/intplus.d`
  `INTEGER`s: addition and subtraction
`src/intcomp.d`
  `INTEGER`s: comparison
`src/intbyte.d`
  `INTEGER`s: byte operations `LDB`, `DPB`
`src/intmal.d`
  `INTEGER`s: multiplication
`src/intdiv.d`
  `INTEGER`s: division
`src/intgcd.d`
  `INTEGER`s: `GCD` and `LCM`
`src/int2adic.d`
  `INTEGER`s: operations on 2-adic integers
`src/intsqrt.d`
  `INTEGER`s: square root, n-th root
`src/intprint.d`
  subroutines for `INTEGER` output
`src/intread.d`
  subroutines for `INTEGER` input
`src/rational.d`
  rational numbers (`RATIO`s)
`src/sfloat.d`
  elementary operations for `SHORT-FLOAT`s
`src/ffloat.d`
  elementary operations for `SINGLE-FLOAT`s
`src/dfloat.d`
  elementary operations for `DOUBLE-FLOAT`s
`src/lfloat.d`
  elementary operations for `LONG-FLOAT`s
`src/flo_konv.d`
  conversions between `FLOAT`s
`src/flo_rest.d`
  general `FLOAT` operations
`src/realelem.d`
  elementary functions for `REAL` numbers
`src/realrand.d`
  random numbers
`src/realtran.d`
  transcendental functions for `REAL` numbers
`src/compelem.d`
  elementary functions for `COMPLEX` numbers
`src/comptran.d`
  transcendental functions for `COMPLEX` numbers

##### 34.3.1.3.1. External routines for the arithmetic system, written in assembly language

`src/ari68000.d`
  written in 68000 assembler, MIT syntax
`src/ari68020.d`
  written in 68020 assembler, MIT syntax
`src/arisparc.d`
  written in SPARC assembler
`src/arisparc64.d`
  written in 64-bit SPARC assembler
`src/ari80386.d`
  written in i386/i486 assembler
`src/arimips.d`
  written in MIPS assembler
`src/arimips64.d`
  written in 64-bit MIPS assembler
`src/arihppa.d`
  written in HPPA-1.0 assembler
`src/arivaxunix.d`
  written in VAX assembler, Unix assembler syntax
`src/ariarm.d`
  written in ARM assembler

#### 34.3.1.4. External routines for accessing the stack, written in assembly language

`src/sp68000.d`
  written in 68000 assembler, MIT syntax
`src/spsparc.d`
  written in SPARC assembler
`src/spsparc64.d`
  written in 64-bit SPARC assembler
`src/sp80386.d`
  written in i386/i486 assembler
`src/spmips.d`
  written in MIPS assembler

### 34.3.2. Other assembly language stuff

`src/asmi386.sh`
  converts i386 assembler from MIT syntax to a macro syntax
`src/asmi386.hh`
  expands i386 assembler in macro syntax to either MIT or Intel syntax

### 34.3.3. Lisp source files

`src/init.lisp`
  the first file to be loaded during bootstrapping, loads everything else
`src/defseq.lisp`
  defines the usual sequence types for the generic sequence functions
`src/backquote.lisp`
  implements the backquote read macro
`src/defmacro.lisp`
  implements `DEFMACRO`
`src/macros1.lisp`
  the most important macros
`src/macros2.lisp`
  some other macros
`src/defs1.lisp`
  miscellaneous definitions
`src/timezone.lisp`
  site-dependent definition of time zone, except for UNIX and Win32.
`src/places.lisp`
  macros using places, definitions of most standard and extensiion places
`src/floatprint.lisp`
  defines `SYS::WRITE-FLOAT-DECIMAL` for printing floating point numbers in base 10
`src/type.lisp`
  functions working with type specifiers: `TYPEP`, `SUBTYPEP`
`src/defstruct.lisp`
  implements the macro `DEFSTRUCT`
`src/format.lisp`
  implements the function `FORMAT`
`src/room.lisp`
  implements the function `ROOM` (see also Section 25.3.1, “Function `ROOM`”)
`src/savemem.lisp`
  see Section 31.2, “Saving an Image”
`src/xcharin.lisp` (optional)
  implements extended character input for `EXT:WITH-KEYBOARD`
`src/keyboard.lisp` (optional)
  implements the macro `EXT:WITH-KEYBOARD`
`src/runprog.lisp`
  implements the functions `EXT:RUN-PROGRAM`, `EXT:RUN-SHELL-COMMAND` etc.
`src/query.lisp`
  implements the functions `Y-OR-N-P` and `YES-OR-NO-P`
`src/reploop.lisp`
  support for debugging and the read-eval-print loop (see Section 25.2, “Debugging Utilities ”)
`src/dribble.lisp`
  implements the functions `DRIBBLE` and `EXT:DRIBBLE-STREAM`
`src/complete.lisp`
  implements completion, see Section 21.2, “Terminal interaction”.
`src/describe.lisp`
  implements functions `DESCRIBE`, `APROPOS`, `APROPOS-LIST`
`src/trace.lisp`
  tracer
`src/macros3.lisp` (optional)
  the macros `EXT:LETF`, `EXT:LETF*` and `EXT:ETHE`
`src/config.lisp`

  (user written) site-dependent configuration, may be a link to one of the following:

  `src/cfgsunux.lisp`
    for UNIX, using SunOS
  `src/cfgunix.lisp`
    for any other UNIX
  `src/cfgwin32.lisp`
    for the Win32

  See Section 31.12, “Customizing CLISP behavior”.

`src/compiler.lisp`
  compiles Lisp code to bytecode
`src/functions.lisp`
  `FUNCTION-LAMBDA-EXPRESSION` et al
`src/disassem.lisp`
  the function `DISASSEMBLE`
`src/defs2.lisp`
  miscellaneous [ANSI CL standard] definitions
`src/loop.lisp`
  implements the [ANSI CL standard]-compatible `LOOP` macro
`src/clos.lisp`

  loads the various parts of the CLOS:

  `src/clos-package.lisp`
    declares the imports and exports of the “CLOS” package
  `src/clos-macros.lisp`
    defines some internal macros used by the CLOS implementation
  `src/clos-class0.lisp`
    defines the `class-version` structure
  `src/clos-metaobject1.lisp`
    defines the `CLOS:METAOBJECT` class
  `src/clos-slotdef1.lisp`
    defines the `CLOS:SLOT-DEFINITION` class and its subclasses
  `src/clos-slotdef2.lisp`
    defines `INITIALIZE-INSTANCE` methods for `CLOS:SLOT-DEFINITION` and its subclasses
  `src/clos-slotdef3.lisp`
    defines the generic functions that can be used on `CLOS:SLOT-DEFINITION` objects
  `src/clos-stablehash1.lisp`
    defines the `EXT:STANDARD-STABLEHASH` class
  `src/clos-stablehash2.lisp`
    defines `INITIALIZE-INSTANCE` methods for `EXT:STANDARD-STABLEHASH`
  `src/clos-specializer1.lisp`
    defines the `CLOS:SPECIALIZER` class and its subclasses
  `src/clos-specializer2.lisp`
    defines `INITIALIZE-INSTANCE` methods for `CLOS:SPECIALIZER` and its subclasses
  `src/clos-specializer3.lisp`
    defines the generic functions that can be used on `CLOS:SPECIALIZER` objects
  `src/clos-class1.lisp`
    defines the `potential-class` class and its subclasses
  `src/clos-class2.lisp`
    implements the mapping from class names to classes
  `src/clos-class3.lisp`
    implements the `DEFCLASS` macro, class definition and class redefinition
  `src/clos-class4.lisp`
    defines `INITIALIZE-INSTANCE` methods for `potential-class` and its subclasses
  `src/clos-class5.lisp`
    implements the special logic of `MAKE-INSTANCE`, `INITIALIZE-INSTANCE` etc.
  `src/clos-class6.lisp`
    defines the generic functions that can be used on `potential-class` objects
  `src/clos-method1.lisp`
    defines the `METHOD` class and its subclasses
  `src/clos-method2.lisp`
    implements the bulk of `DEFMETHOD`
  `src/clos-method3.lisp`
    defines the generic functions that can be used on `METHOD` objects
  `src/clos-method4.lisp`
    makes generic functions on `STANDARD-METHOD` objects extensible
  `src/clos-methcomb1.lisp`
    defines the `METHOD-COMBINATION` class
  `src/clos-methcomb2.lisp`
    implements method combination (part 2 of generic function dispatch and execution) and the `DEFINE-METHOD-COMBINATION` macro
  `src/clos-methcomb3.lisp`
    defines `INITIALIZE-INSTANCE` methods for `METHOD-COMBINATION`
  `src/clos-methcomb4.lisp`
    makes generic functions on `METHOD-COMBINATION` objects extensible
  `src/clos-genfun1.lisp`
    defines the `GENERIC-FUNCTION` class and its metaclass, superclass and subclasses
  `src/clos-genfun2a.lisp`
    implements part 1 of generic function dispatch and execution
  `src/clos-genfun2b.lisp`
    implements part 3 of generic function dispatch and execution
  `src/clos-genfun3.lisp`
    implements creation of generic function objects, `DEFMETHOD`, `DEFGENERIC`
  `src/clos-genfun4.lisp`
    defines `INITIALIZE-INSTANCE` methods for `GENERIC-FUNCTION` and its subclasses
  `src/clos-genfun5.lisp`
    makes generic functions on `GENERIC-FUNCTION` objects extensible
  `src/clos-slots1.lisp`
    implements low-level slot access, `WITH-SLOTS`, `WITH-ACCESSORS`
  `src/clos-slots2.lisp`
    defines the generic functions that deal with slot access
  `src/clos-dependent.lisp`
    implements notification from metaobjects to dependent objects
  `src/clos-print.lisp`
    implements the function `PRINT-OBJECT`
  `src/clos-custom.lisp`
    provides user customization of the CLOS
`src/gray.lisp`
  implements STREAM-DEFINITION-BY-USER:GENERIC-FUNCTIONS
`src/fill-out.lisp`
  implements `EXT:FILL-STREAM`
`src/disassem.lisp`
  implements `DISASSEMBLE`
`src/condition.lisp`
  implements the Common Lisp Condition System (CLCS)
`src/gstream.lisp` (optional)
  generic stream default methods, see Section 31.6, “Generic streams”
`src/foreign1.lisp`
  “FFI” interface
`src/screen.lisp`
  the screen access package, see Section 32.1, “Random Screen Access”
`src/edit.lisp` (optional)
  the screen editor (`ED`), `EXT:UNCOMPILE`
`src/inspect.lisp`
  implements `INSPECT` (tty and HTTP frontends)
`src/clhs.lisp`
  implements `EXT:OPEN-HTTP`, `EXT:BROWSE-URL`
`src/exporting.lisp`
  Macros that export their definienda, see Section 32.2.7.3, “Exporting”.
`src/threads.lisp`
  MT interface
`src/spanish.lisp`
`src/german.lisp`
`src/french.lisp`
`src/russian.lisp`
`src/dutch.lisp`
  i18n user messages

### 34.3.4. External Modules

`modules/`
  individual external module sources

### 34.3.5. Documentation

`src/NEWS`
  the list of the user-visible changes
`src/_README`

  master for the distribution's README

  `src/_README.en`
  `src/_README.de`
  `src/_README.es`
    translations of `src/_README`
`doc/clisp.xml.in`
  DocBook/XML sources for the CLISP manual page
``build-dir`/clisp.1`
  the platform-specific man manual page, generated from `doc/clisp.xml.in` at build time
``build-dir`/clisp.html`
  the platform-specific HTML manual page, generated from `doc/clisp.xml.in` at build time
`doc/impnotes.xml.in`

  the master DocBook/XML file for these implementation notes; includes the following files

  `doc/cl-ent.xml`
    CLISP-independent general Common Lisp-related entities
  `doc/clhs-ent.xml`
    generated list of [Common Lisp HyperSpec] entities
  `doc/impent.xml`
    CLISP-specific entities
  `doc/unix-ent.xml`
    UNIX-related entities
  `doc/mop-ent.xml`
    Meta-Object Protocol-related entities
  `doc/impbody.xml`
    most of Part I, “Chapters or the Common Lisp HyperSpec”
  `doc/impissue.xml`
    Chapter 28, X3J13 Issue Index [CLHS-ic]
  `doc/gray.xml`
    Chapter 30, Gray streams
  `doc/mop.xml`
    Chapter 29, Meta-Object Protocol
  `doc/impext.xml`
    Chapter 31, Platform Independent Extensions and Chapter 32, Platform Specific Extensions
  `doc/impbyte.xml`
    this Part IV, “Internals of the CLISP Implementation”
  `doc/faq.xml`
    Appendix A, Frequently Asked Questions (With Answers) about CLISP
  `modules/**/*.xml`
    individual external module documentation
  `doc/Symbol-Table.text`
    the mapping between lisp symbols and element IDs in these notes (see `DESCRIBE`).
`doc/impnotes.html`
  these HTML implementation notes, generated from `doc/impnotes.xml.in` at release time

### 34.3.6. Internationalization

`src/po/*.pot`
  list of translatable messages (“portable object template”)
`src/po/*.po`
  translated messages (“portable objects”)
`src/po/*.gmo`
  translated messages (“GNU format message objects”)

### 34.3.7. Automatic configuration on UNIX

`src/configure.in`
  lists features to be checked
`src/autoconf/autoconf.m4`
  autoconf's driver macros. Part of GNU autoconf 2.57
`src/m4/`
  a repertoire of features. Use with GNU autoconf 2.57
`src/configure`
  configuration script, generated from `src/configure.in`
`src/intparam.c`
  figures out some machine parameters (word size, endianness etc.)
`src/floatparam.c`
  figures out some floating point arithmetics parameters (rounding, epsilons etc.)
`src/config.h.in`
  header file master, generated from `src/configure.in`. ``build-dir`/config.h` contains the values of the features discovered by `src/configure`.
`src/makemake.in`
  makefile construction script master
`src/_clisp.c`
  master for the distribution's driver program
`src/_distmakefile`
  master for the distribution's Makefile

| These notes document CLISP version 2.45 | Last modified: 2008-05-14

Enter your search termsSubmit search form
Webclisp.cons.orgclisp.podval.orgwww.lisp.org

Prev | Up | Next
34.2. Source Pre-Processing | Home | Chapter 35. Overview of CLISP's Garbage Collection