home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / lang / BCPL4Amiga.readme < prev    next >
Encoding:
Text File  |  1997-03-02  |  5.1 KB  |  108 lines

  1. Short:    A BCPL interpreter for Amiga
  2. Author:   Martin Richards, Amiga port by Stefan Haubenthal
  3. Uploader: hauben00@marvin.informatik.uni-dortmund.de (Stefan Haubenthal)
  4. Type:     dev/lang
  5.  
  6. This is a kit for bringing up a BCPL compiler on any machine that has a
  7. C compiler.  It is the INTCODE compiler kit written by Martin Richards,
  8. the inventor of BCPL.
  9.  
  10. Briefly the steps are:
  11.  
  12. 1. Write an interpreter for INTCODE. This has been done for you in C.
  13. As far as I know it runs on Unix (BSD flavour), MSDOS (using the Cware
  14. compiler) and CP/M (using the C80) compiler. There are also tuned
  15. assembly code versions of the interpreter for MSDOS and CP/M.
  16. Executables for MSDOS and CP/M are also provided.
  17.  
  18. 2. Ensure that it runs properly by running it on some INTCODE programs
  19. like fact.int (factorial) or cgtest.int (code generator tester).
  20.  
  21. 3. The bootstrap: This step is optional because you can keep on using
  22. the INTCODE versions of the compiler, but if you want to make any
  23. compiler modifications you have to pass this step.  Using the INTCODE
  24. versions of the BCPL compiler passes: s.int (SYN), and c.int (CG, OCODE
  25. to INTCODE backend), recompile the BCPL source (syn.bpl, trn.bpl and
  26. cg.bpl) of the compiler passes.  Yes, bootstrapping is a
  27. self-referential process. Note that the compiler will expect filenames
  28. in uppercase, hence the uppercase name links to the header files
  29. (*hdr.bpl). The file OPTIONS contains flags that control the behaviour
  30. of the passes. The option L7500 is required for the compiler to
  31. compiler itself. Then you will have to concatenate the INTCODE library
  32. stubs (icint.int) and utility routines (blib.int) to make an INTCODE
  33. "executable".  The sources of the utility routines are in blib.bpl.
  34. The shell script "bcpl" automates these steps for making an INTCODE
  35. executable from BCPL source file.
  36.  
  37. 4. You now can compile BCPL programs to your heart's content.  If
  38. you're really ambitious, you can write a code generator from OCODE to
  39. assembly code.
  40.  
  41. The program icint has some option flags. In brief:
  42.  
  43.     -pn    sets the max program area size to n
  44.     -gn    sets the max global area size to n
  45.     -s    store a compact version of intcode in second file arg
  46.     -l    load a compact version of intcode from first file arg
  47.     -u    complain about unset globals
  48.     -v    verbose, more messages
  49.  
  50.  
  51. ============================= Archive contents =============================
  52.  
  53. Original  Packed Ratio    Date     Time    Name
  54. -------- ------- ----- --------- --------  -------------
  55.      909     546 39.9% 22-Oct-91 15:56:58  bcpl.txt
  56.      448     241 46.2% 25-Jan-91 05:59:38 +bcpl
  57.      287     210 26.8% 22-Jan-97 21:23:30 +bcpl.rexx
  58.     2818    1138 59.6% 24-Mar-88 02:56:22 +blib.bpl
  59.     2539    1016 59.9% 24-Mar-88 02:57:30 +blib.int
  60.    18694    6955 62.7% 23-Mar-88 03:22:12 +booting.doc
  61.    16618    5501 66.8% 24-Mar-88 06:11:24 +c.int
  62.    14655    3515 76.0% 24-Mar-88 09:09:06 +cg.bpl
  63.    13637    4337 68.1% 24-Mar-88 02:58:24 +cg.int
  64.     5355    2492 53.4% 24-Mar-88 09:03:24 +CGHDR
  65.     5355    2492 53.4% 24-Mar-88 09:03:24 +cghdr.bpl
  66.     6893    2141 68.9% 30-Mar-88 04:35:32 +cgtest.bpl
  67.    12152    3828 68.4% 25-Jan-91 06:19:40 +cgtest.int
  68.      150     113 24.6% 24-Mar-88 04:10:18 +fact.bpl
  69.     3309    1416 57.2% 25-Jan-91 06:16:52 +fact.int
  70.    19708   11264 42.8% 18-Jan-97 13:02:56 +icint
  71.    10601    3390 68.0% 22-Jan-97 21:52:48 +icint.bpl
  72.     8636    2899 66.4% 03-Feb-91 06:11:14 +icint.c
  73.    13696    7387 46.0% 10-Oct-91 02:10:44 +icint.com
  74.    21789    7357 66.2% 23-Mar-88 03:21:32 +icint.doc
  75.    15872    8476 46.5% 04-Feb-91 14:43:08 +icint.exe
  76.     2047     808 60.5% 03-Feb-91 08:40:32 +icint.h
  77.      442     226 48.8% 24-Mar-88 03:17:48 +iclib.int
  78.     9322    2590 72.2% 01-Feb-91 00:32:52 +interp.asm
  79.     3760    1263 66.4% 05-Feb-91 00:14:42 +interp.c
  80.     4657    1539 66.9% 04-Feb-91 14:35:02 +interp.cware.c
  81.     1539     816 46.9% 23-Mar-88 03:23:42 +LIBHDR
  82.      180     101 43.8% 06-Feb-91 05:54:06 +Makefile
  83.        6       6  0.0% 29-Jan-91 01:45:02 +OPTIONS
  84.     2095    1020 51.3% 10-Oct-91 02:37:52 +README
  85.    49538   15409 68.8% 24-Mar-88 06:06:52 +s.int
  86.      284     173 39.0% 22-Jan-97 22:02:00 +SMakefile
  87.     3261     956 70.6% 03-Feb-91 11:49:48 +sub.c
  88.    28695    6584 77.0% 25-Jan-91 06:42:46 +syn.bpl
  89.    25190    8004 68.2% 25-Jan-91 06:59:46 +syn.int
  90.     1924     961 50.0% 25-Jan-91 06:42:14 +SYNHDR
  91.     1924     961 50.0% 25-Jan-91 06:42:14 +synhdr.bpl
  92.    23648    5007 78.8% 25-Jan-91 06:57:08 +trn.bpl
  93.    21492    6441 70.0% 25-Jan-91 06:58:06 +trn.int
  94.     2215    1091 50.7% 25-Jan-91 06:53:56 +TRNHDR
  95.     2215    1091 50.7% 25-Jan-91 06:53:56 +trnhdr.bpl
  96.       67      62  7.4% 22-Jan-97 21:58:18  CHANGES
  97.    11300    4811 57.4% 06-Dec-88 17:50:02 +bcpl.doc
  98.     4809    1421 70.4% 06-Dec-88 17:50:00 +bcpl.h
  99.     1916     894 53.3% 06-Dec-88 17:50:04 +bcpllib.c
  100.     1539     752 51.1% 06-Dec-88 17:50:00 +hello.c
  101.     2228     909 59.2% 06-Dec-88 17:50:04 +myendcli.c
  102.     8842    2836 67.9% 06-Dec-88 17:50:00 +mynewcli.c
  103.     8288    2794 66.2% 06-Dec-88 17:50:00 +myrun.c
  104.     3029    1423 53.0% 06-Dec-88 17:50:04 +process.doc
  105.     9996    3710 62.8% 06-Dec-88 17:50:02 +ramlib.doc
  106. -------- ------- ----- --------- --------
  107.   430569  151373 64.8% 24-Jan-97 01:02:46   51 files
  108.