home *** CD-ROM | disk | FTP | other *** search
- The CP/M distribution for XLISP contains the following files:
-
- ABSTRACT.118 this file)
- xlisp.doc (documentation)
- xlbind.c (routines to bind values to symbols)
- xldmem.c (dynamic memory management routines)
- xleval.c (the evaluator)
- xlfio.c (file i/o routines)
- xlio.c (i/o routines for 'xlread')
- xlisp.c (the main routine)
- xlisp.h (the definition file)
- xllist.c (list functions)
- xlmath.c (arithmetic functions)
- xlobj.c (object oriented functions)
- xlkmap.c (keymap functions)
- xlprin.c (the printer)
- xlread.c (the reader)
- xlstr.c (string functions)
- xlsubr.c (misc. functions)
- junk.c (routines needed for the AZTEC C version)
- setjmp.h (definition file for 'setjmp.asm')
- setjmp.asm (setjmp and longjmp for AZTEC C)
- alloc.c (memory allocation routines)
- sbrk.asm (more memory allocation routines)
- xlisp.com (an executable for 64K Z-80 systems)
- xlmake.sub (a file for compiling and assembling XLISP)
- xlisp.lnk (a command file for linking XLISP)
- pt.lsp (a sample program)
- t.lsp (another sample program)
-
- Before compiling XLISP, look at the beginning of the file 'xlisp.h'.
- You should check to see that the conditionals defined here are
- appropriate for your machine.
-
- You should also edit the command files 'xlmake.sub' and 'xlisp.lnk'
- to indicate which disks to expect input from and which disks to place
- output on. They are currently configured for my VT180 system with
- four 180K 5 1/4 inch mini-floppies. I assigned the disks as follows:
-
- A the C compiler, assembler, library, 'stdio.h' and
- 'setjmp.h'
- B unimportant
- C the XLISP sources and the '.ASM' files generated
- by the compiler
- D the generated object files
-
- Note that all of the source files expect to find 'stdio.h' and
- 'setjmp.h' on disk A.
-
- Since XLISP evaluates functions recursively, it tends to use up
- a lot of stack space. Depending on how stack space is allocated
- on your machine, you may need to tell the linker to allocate more
- than the normal amount of space. I generated the original XLISP
- on a PDT-11/150 under the RT-11 operating system using the DECUS-C
- compiler and needed to tell the RT-11 linker to allocate 10000 octal
- bytes of stack space in order to make XLISP run reasonably well.
-
- You can gain back about 400 nodes worth of list space by leaving
- out the 'Keymap' class. This can be done by editing the 'xlisp.h'
- file under the conditional for 'AZTEC' and removing the definition
- for the symbol 'KEYMAPCLASS'. You only really need to recompile
- 'xlisp.c' and 'xldmem.c' after changing this definition. You should
- then relink leaving out 'xlkmap.o'.
-
- Have fun and let me know of any problems or suggestions you might
- have.
-
- David Betz
-