next up previous contents
Next: LISP Options On The Up: Introduction Previous: Why not an Integrated

Source Organization & Implementation

Much care has been taken to ensure the source code is self-documented and easy to understand. To achieve readability and consistency a number of conventions and organizations have been used in formulating the code. These are as follows.

File organization and description of the files are given below.
big-n.l
contains the arbitrary precision integer arithmetic support functions.
errors.l
Contains the error messages of the LISP interpreter.
flags.l
System dependent flag macros are defined in this file.
fnames.l
Contains the names, internal names, number of arguments, and types of the STD-LISP functions of the interpreter.
hd.l
Contains all the global static declarations and initializations of LISP interpreter.
lisp-fn.l
Contains the implementations of the STD-LISP functions of the interpreter.
lisp-zfn.l
Contains the support functions. Here the function names always begin with the letter z.
sysid.l
List of predefined identifiers of STD-LISP, their flags, print names,and values. Used when BITF flag is zero.
sysids.l
Contains the list of predefined identifiers of LISP, their attributes, print names,and values. Used when BITF flag is one.
type.l, types.l
Contain the macro definitions, structure definitions, and type definitions of the implementation.
yylex.l
Contains the parser support functions for LISP.
zfnames.l
Contains the names of functions that are defined in lisp-zfn.l

Following utility programs are used to prepare the LISP file system.
cr1.c
Hashtable of the predefined LISP identifiers is generated, and identifiers are declared statically.
cr2.c
Prepares support functions for compilation.
crc.c
Prepares compiler generated functions for compilation.
cri.c
Prepares the initialiation file.
size.c
Program which calculates PAGESIZE

In addition to these files you will find some other files related to the LISP tex2html_wrap_inline1791 C compiler. They are grouped under the subdirectory compiler in distribution. Here you will find the following files:

compiler.lsp
The LISP code of A.C. Hearn's Portable LISP compiler[4].
lap.lsp
The LISP code that is the front end for the compiler. The job of this code is to convert the output of Hearn's compiler (which are LISP expresions corresponding to macro calls of a lisp-machine) to C function definitions and an initialization environment (we name this environment urwelt in rememberance of W.Heisenberg, meaning whatever existed before history started).
comp*
These files are the outcome of the compilation of the compiler itself. How they are used is explained in details in the ``Compiler'' chapter.




next up previous contents
Next: LISP Options On The Up: Introduction Previous: Why not an Integrated

Gokturk UCOLUK
Fri Nov 1 21:52:13 EET 1996