The source files for WB are written in the SCM dialect of Scheme:
SCM configuration definitions.
SCM code for WB-trees.
wimpy POSIX interface to the disk. Replace this if you have a more direct interface to the disk.
These files are translated into the C, C#, and Java targets by SCM scripts named scm2c, scm2cs, and scm2java respectively. The function and variable data types in the target languages are determined by pattern-matching the first-element strings in the associations scm2c.typ, scm2cs.typ, and scm2java.typ respectively.
Files translated to C are put into the wb/ directory. Files translated to Java are put into the wb/java/ directory. Files translated to C# are concatenated with wb/csharp/Cssys.cs and wb/csharp/SchlepRT.cs and written to wb/csharp/Wb.cs.
In the Makefile:
Derived *.h files for C.
Derived *.c files for C.
Derived java/*.java files for Java.
Single derived source file for C#.
WB comes with a C utility program for database files stored on disk.
Checks the structure of the database named by path and reclaims temporary trees to the freelist.
documents the theory, data formats, and algorithms; the C and SCM interfaces to WB-tree.
documents changes to the WB.
example program using WB-tree in SCM.
The primary C include file for using the WB layer is is wbsys.h, which includes several other files from the directory. wbsys.h also defines WB’s internal data types.
Shared data and low-level C accessors.
Shared data and low-level accessors for debugging in SCM.
C code for the SCM interface to WB-trees.
code for SCM interface when debugging in SCM.
SCM code which translates SCM code into C.
rules relating variable names to types in generated C.
SCM code which translates SCM code into C#.
rules relating variable names to types in generated C#.
SCM code which translates SCM code into Java.
rules relating variable names to types in generated Java.
file for testing WB-tree system.
more tests for WB-tree system.
command script for compiling under VMS.
loads all the SCM files for debugging.
SCM code allowing WB to implement SLIB relational databases.
SCM code allowing WB to implement SLIB relational databases with numerical and lexicographic key collations.
program for checking, repairing, and garbage collecting WB-tree databases.
SCM script for displaying low-level WB database associations.