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

  1. ; DATE 12/18/83  07:50  by H M Van Tassell
  2.  
  3. This version of XLISP is taken from David Betz version 1.1 for CP/M-80
  4. and the AZTEC compiller which is on SI/G volume 118.
  5.  
  6. I wanted a CP/M-86 version and recompiled the source code with the
  7. Computer Innovations compiler CI-C86. The only changes made to the
  8. original source code files was to change from <...> to "..." on the
  9. #include <stdio.h>.
  10.  
  11. The setjmp.h file was made empty because the CI-C86 stdio.h defines
  12. this item. The empty file ctype.h was added to the disk since the
  13. CI-C86 compiler doesn't use this header file. A new #setdef was added
  14. to the xlisp.h file for the CI-C86 compiler.
  15.  
  16. New submit files were made and you may re-compile and link by:
  17.    1. A>submit cclisp
  18.    2. A>submit linklisp
  19. NOTE for systems with limited disk storage:
  20.      submit.cmd and cc1.cmd, cc2.cmd, cc3.cmd, and cl.cmd must be available
  21.      on resident disks and you may need to modify the cclisp.sub and
  22.      linklisp.sub files to show on which disks certain files may be found.
  23. This should result in a new XLISP.CMD file being generated
  24.  
  25.  
  26. This is the SI/G volume 118 abstract and is presented here for 
  27. information. Files marked by ** are not included on this disk.
  28. --------------------------------------------------------------
  29.  
  30. The CP/M distribution for XLISP contains the following files:
  31.  
  32.     ABSTRACT.118    this file)
  33.     xlisp.doc    (documentation)
  34.     xlbind.c    (routines to bind values to symbols)
  35.     xldmem.c    (dynamic memory management routines)
  36.     xleval.c    (the evaluator)
  37.     xlfio.c        (file i/o routines)
  38.     xlio.c        (i/o routines for 'xlread')
  39.     xlisp.c        (the main routine)
  40.     xlisp.h        (the definition file)
  41.     xllist.c    (list functions)
  42.     xlmath.c    (arithmetic functions)
  43.     xlobj.c        (object oriented functions)
  44.     xlkmap.c    (keymap functions)
  45.     xlprin.c    (the printer)
  46.     xlread.c    (the reader)
  47.     xlstr.c        (string functions)
  48.     xlsubr.c    (misc. functions)
  49.     junk.c        **    (routines needed for the AZTEC C version)
  50.     setjmp.h    (definition file for 'setjmp.asm')
  51.     setjmp.asm  **    (setjmp and longjmp for AZTEC C)
  52.     alloc.c        **    (memory allocation routines)
  53.     sbrk.asm    **    (more memory allocation routines)
  54.     xlisp.com   **    (an executable for 64K Z-80 systems)
  55.     xlmake.sub  **    (a file for compiling and assembling XLISP)
  56.     xlisp.lnk   **    (a command file for linking XLISP)
  57.     pt.lsp        (a sample program)
  58.     t.lsp        (another sample program)
  59.  
  60. Before compiling XLISP, look at the beginning of the file 'xlisp.h'.
  61. You should check to see that the conditionals defined here are
  62. appropriate for your machine.
  63.  
  64. You should also edit the command files 'xlmake.sub' and 'xlisp.lnk'
  65. to indicate which disks to expect input from and which disks to place
  66. output on.  They are currently configured for my VT180 system with
  67. four 180K 5 1/4 inch mini-floppies.  I assigned the disks as follows:
  68.  
  69.     A    the C compiler, assembler, library, 'stdio.h' and 
  70.         'setjmp.h'
  71.     B    unimportant
  72.     C    the XLISP sources and the '.ASM' files generated
  73.         by the compiler
  74.     D    the generated object files
  75.  
  76. Note that all of the source files expect to find 'stdio.h' and
  77. 'setjmp.h' on disk A.
  78.  
  79. Since XLISP evaluates functions recursively, it tends to use up
  80. a lot of stack space.  Depending on how stack space is allocated
  81. on your machine, you may need to tell the linker to allocate more
  82. than the normal amount of space.  I generated the original XLISP
  83. on a PDT-11/150 under the RT-11 operating system using the DECUS-C
  84. compiler and needed to tell the RT-11 linker to allocate 10000 octal
  85. bytes of stack space in order to make XLISP run reasonably well.
  86.  
  87. You can gain back about 400 nodes worth of list space by leaving
  88. out the 'Keymap' class.  This can be done by editing the 'xlisp.h'
  89. file under the conditional for 'AZTEC' and removing the definition
  90. for the symbol 'KEYMAPCLASS'.  You only really need to recompile
  91. 'xlisp.c' and 'xldmem.c' after changing this definition.  You should
  92. then relink leaving out 'xlkmap.o'.
  93.  
  94. Have fun and let me know of any problems or suggestions you might
  95. have.
  96.  
  97. David Betz
  98.  
  99.  
  100. Best of luck too from Harry Van Tassell
  101.