home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 2 / FFMCD02.bin / new / dev / misc / p2c / readme.amiga < prev    next >
Text File  |  1993-12-21  |  6KB  |  148 lines

  1. Welcome to the AMIGA version of P2C 1.20, the Pascal to C translator.
  2. The original distribution has been downloaded via FTP from
  3. 'csvax.cs.caltech.edu'. This version is a bit old but I haven't found a
  4. newer one.
  5.  
  6. To use P2C on the AMIGA:
  7.  
  8.          *****************************************
  9.          * SET YOUR STACK SIZE TO AT LEAST 30000 *
  10.          *****************************************
  11.  
  12. (If you want to know exactly how much stack size is needed use
  13. my program 'StackCheck' from Fish-disk 870. I don't know what the highest
  14. possible value is.)
  15.  
  16. - Workbench 1.3 or higher and enough memory is required
  17.  
  18. - Place the executable file 'P2C' and the shell scripts anywhere in
  19.   your search path.
  20.  
  21. - Ensure that the following files are found:
  22.        P2C:home/p2crc
  23.        P2C:home/loc.p2crc
  24.        P2C:home/string.pas
  25.        P2C:home/system.imp
  26.        P2C:home/system.m2
  27.        P2C:home/turbo.imp
  28.   (for example with the command assign P2C: HD:P2C)
  29.   the 'P2C:HP' - directory is normally not needed
  30.  
  31. - Create a local 'p2crc' file according to your requirements. (See the file
  32.   P2C:home/p2crc and the manual for more)
  33.  
  34. - You can stop p2c by pressing CTRL-C. In some cases you have to wait a bit.
  35.  
  36. - If you want to compile the created C files install the linker libraries
  37.   and the include file 'p2c.h' so that your compiler can find them.
  38.    (look in the directory 'Aztec' and 'GCC' for more)
  39.   Users with other compilers have to create the linker library by 
  40.   themselves. Look at the makefiles and your compiler manual for more. 
  41.  
  42. - To use P2C as an ad hoc Pascal compiler enter:
  43.       Pcompile.aztec Pascal-File Executable-File
  44.   or
  45.       Pcompile.GCC   Pascal-File Executable-File
  46.   while "Pascal-File" is your Pascal-Source and "Executable-File" is the
  47.   name of the program to create  
  48.  
  49. - To get a printed manual:
  50.    - set the printing style with your preferences program
  51.    - enter the command:
  52.          type P2C:src/p2c.cat >PRT:
  53.    - NOTE: You have to set the correct page length at your printer if you
  54.      are using fanfold paper.
  55.  
  56. - To look at the manual on the screen enter:
  57.          more P2C:src/p2c.cat
  58.  
  59. Hints:
  60. ******
  61.  
  62. - If you don't specify a Pascal file to translate 'p2c' will read it from the
  63.   standard input. If you haven't redirected the standard input 'p2c' will read
  64.   from the console. Press CTRL-\ to stop this. Then the created C file will be
  65.   written to standard output.
  66.  
  67. - With the default setup Pascal's 'rewrite' function will create a tempo-
  68.   rary file if you don't specify a file name as a second argument of the
  69.   'rewrite' function. This temporary file will be deleted when the program
  70.   finishes. If you set 'LiteralFiles' to 2 the file will not be deleted if
  71.   it appears in the 'program' statement. The name of the FILE variable will
  72.   be used as the file name. With this setting 'p2c' will be more closer
  73.   to ISO standard Pascal. 
  74.  
  75.  
  76. Implementation notes:
  77. *********************
  78.  
  79. - P2C has been compiled with Aztec C 5.2a and all optimizations turned on.
  80.   It should also compile with GNU C.
  81.  
  82. - For the supplied example files this implementation creates exactly
  83.   the same sources as the original version used by the author.
  84.  
  85. - P2C has been tested with Mungwall but not with Enforcer. (I don't have
  86.   access to a machine with MMU)
  87.  
  88.  
  89. Changes made to to the original distribution:
  90. *********************************************
  91.  
  92. All the changes are surrounded by #ifdef's, therefore they will not be applied
  93. if you are not using an AMIGA to compile. You can easily find them in the
  94. source if you are searching for the words 'MCH_AMIGA' or 'AZTEC_C'.
  95.  
  96. - Added the executables 'p2c', 'makeproto' and 'basic'.
  97.  
  98. - The files 'makefile.aztec', 'makefile.GCC', 'Pcompile.aztec',
  99.   'Pcompile.GCC' and the directories 'Aztec' and 'GCC' are new.
  100.  
  101. - The file 'p2c.cat' has been slightly modified to allow printing via PRT:
  102.  
  103. - Modified the files 'p2c.h' and 'trans.h' to set EXIT_FAILURE to 20.
  104.  
  105. - Modified the files 'trans.c', 'out.c' and 'makeproto.c' to replace exit(1)
  106.   with exit(EXIT_FAILURE).
  107.  
  108. - Modified the files 'p2clib.c' and 'p2c.h' to print error messages in the
  109.   following situations: division by zero or other math errors, bus or
  110.   address errors, illegal instructions and pressing CTRL-C. This will work
  111.   with all programs created by 'p2c'. (currently only when Aztec C or GNU C
  112.   is used) 
  113.  
  114. - The file 'trans.c' has been modified to avoid using the 'sbrk()'-function
  115.   when GCC is used, to support Aztec's getenv() function which will
  116.   release its buffer on the next getenv() call, to support AMIGA pathnames
  117.   and to print a message when CTRL-C is pressed.
  118.  
  119. - The file 'out.c' has been modified to avoid an error message from the Aztec
  120.   compiler.
  121.  
  122. - Removed the files 'p2c.proto' and 'p2c.hdrs', they will be created by
  123.   makeproto.
  124.  
  125. - The 'home'-directory contains now all the files that are needed when P2C is
  126.   invoked.
  127.  
  128. - Removed the C source files for the example Pascal files, you can create
  129.   them with P2C. (Note that the local 'p2crc' file from the examples directory
  130.   is needed to create 'basic.c' correctly)
  131.  
  132. - Added some options to the local 'p2crc' file in the 'examples' directory
  133.  
  134. - Added some hacks to 'basic.p' to allow interrupting BASIC programs by
  135.   pressing CTRL-C.
  136.  
  137.  
  138. My address:
  139. ***********
  140.  
  141.           Günther Röhrich
  142.           Lerchenbergstr. 4
  143.           73733 Esslingen
  144.             Germany
  145.  
  146. (Note that I can only answer to questions that are specific to the AMIGA
  147. implementation. See the file 'README' on how to contact the original author.)
  148.