The book is available on archive.org HERE
This source code was taken from the tar file available on archive.org HERE
The source code of Kernel is broken down into a number of files where each file consists of a set of closely related functions. A summary of the files is given below.
-
kernel.h Contains header definitions. These include type declarations, macro-definitions, and external declarations. All global variables that are referred to by more than one file and all C functions that implement Kernel functions (and some lower-level functions) are declared as external in this file. By including this file in every other file, redeclarations of global types, variables, and functions are avoided.
-
globals.c All global variables that are declared as external in kernel.h are defined in this file. The isolation of global variables in this manner achieves better consistency.
-
symt.c Contains the symbol table management functions and a set of related functions for creating symbols.
-
cellt.c Contains the cons-cell table management functions and a set of related functions for creating objects.
-
eval.c Contains the evaluation functions of Kernel. Functions that implement the various function types of Kernel appear in this file.
-
io.c Contains the I/O management functions of Kernel.
-
arith.c Contains the arithmetic functions of Kernel.
-
str.c Contains the string manipulation functions of Kernel.
-
sym.c Contains the symbol manipulation functions of Kernel.
-
list.c Contains the list manipulation functions of Kernel.
-
set.c Contains the set manipulation functions of Kernel.
-
logic.c Contains the logic and conditional functions of Kernel.
-
prop.c Contains the property list manipulation and the association list functions of Kernel.
-
vec.c Contains the vector manipulation functions of Kernel.
-
flow.c Contains functions for the nonstandard flow of control in Kernel. The error and top level functions of Kernel appear in this file.
-
iter.c Contains the iteration functions of Kernel.
-
map.c Contains the mapping functions of Kernel.
-
misc.c Contains some miscellaneous functions for, for example, defining variables, constants, and functions.
-
init.c Contains the initialization function of Kernel.
-
kern.c Contains the main driver function of Kernel.
-
kcomp.c Contains the Kernel compiler for translating Kernel programs into C.