home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol118 / abstract.118 < prev    next >
Encoding:
Text File  |  1984-04-29  |  2.6 KB  |  69 lines

  1. The CP/M distribution for XLISP contains the following files:
  2.  
  3.     ABSTRACT.118    this file)
  4.     xlisp.doc    (documentation)
  5.     xlbind.c    (routines to bind values to symbols)
  6.     xldmem.c    (dynamic memory management routines)
  7.     xleval.c    (the evaluator)
  8.     xlfio.c        (file i/o routines)
  9.     xlio.c        (i/o routines for 'xlread')
  10.     xlisp.c        (the main routine)
  11.     xlisp.h        (the definition file)
  12.     xllist.c    (list functions)
  13.     xlmath.c    (arithmetic functions)
  14.     xlobj.c        (object oriented functions)
  15.     xlkmap.c    (keymap functions)
  16.     xlprin.c    (the printer)
  17.     xlread.c    (the reader)
  18.     xlstr.c        (string functions)
  19.     xlsubr.c    (misc. functions)
  20.     junk.c        (routines needed for the AZTEC C version)
  21.     setjmp.h    (definition file for 'setjmp.asm')
  22.     setjmp.asm    (setjmp and longjmp for AZTEC C)
  23.     alloc.c        (memory allocation routines)
  24.     sbrk.asm    (more memory allocation routines)
  25.     xlisp.com    (an executable for 64K Z-80 systems)
  26.     xlmake.sub    (a file for compiling and assembling XLISP)
  27.     xlisp.lnk    (a command file for linking XLISP)
  28.     pt.lsp        (a sample program)
  29.     t.lsp        (another sample program)
  30.  
  31. Before compiling XLISP, look at the beginning of the file 'xlisp.h'.
  32. You should check to see that the conditionals defined here are
  33. appropriate for your machine.
  34.  
  35. You should also edit the command files 'xlmake.sub' and 'xlisp.lnk'
  36. to indicate which disks to expect input from and which disks to place
  37. output on.  They are currently configured for my VT180 system with
  38. four 180K 5 1/4 inch mini-floppies.  I assigned the disks as follows:
  39.  
  40.     A    the C compiler, assembler, library, 'stdio.h' and 
  41.         'setjmp.h'
  42.     B    unimportant
  43.     C    the XLISP sources and the '.ASM' files generated
  44.         by the compiler
  45.     D    the generated object files
  46.  
  47. Note that all of the source files expect to find 'stdio.h' and
  48. 'setjmp.h' on disk A.
  49.  
  50. Since XLISP evaluates functions recursively, it tends to use up
  51. a lot of stack space.  Depending on how stack space is allocated
  52. on your machine, you may need to tell the linker to allocate more
  53. than the normal amount of space.  I generated the original XLISP
  54. on a PDT-11/150 under the RT-11 operating system using the DECUS-C
  55. compiler and needed to tell the RT-11 linker to allocate 10000 octal
  56. bytes of stack space in order to make XLISP run reasonably well.
  57.  
  58. You can gain back about 400 nodes worth of list space by leaving
  59. out the 'Keymap' class.  This can be done by editing the 'xlisp.h'
  60. file under the conditional for 'AZTEC' and removing the definition
  61. for the symbol 'KEYMAPCLASS'.  You only really need to recompile
  62. 'xlisp.c' and 'xldmem.c' after changing this definition.  You should
  63. then relink leaving out 'xlkmap.o'.
  64.  
  65. Have fun and let me know of any problems or suggestions you might
  66. have.
  67.  
  68. David Betz
  69.