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

  1.  
  2. This directory contains "p2c", a Pascal to C translator.
  3.  
  4. "p2c"  Copyright 1989, 1990, 1991  Free Software Foundation, Inc.
  5.  
  6. Written and maintained by:   Dave Gillespie
  7.                  256-80 Caltech
  8.                  Pasadena CA 91125
  9.                  daveg@csvax.cs.caltech.edu, cit-vax!daveg
  10.  
  11.  
  12. This program is distributed under the terms of the GNU License Agreement.
  13. See the file src/COPYING for details.
  14.  
  15. The GNU License Agreement restrictions do _not_ apply to code generated
  16. by p2c, nor to the p2c run-time files "p2clib.c" and "p2c.h".
  17.  
  18.  
  19.  
  20. The file "trans.c" includes an overview of the source files of p2c.
  21. All p2c source files include the header "trans.h".
  22.  
  23. The file "dir.c" is intended to be modified by the user to install
  24. code for custom translations of certain procedures.  To add your own
  25. custom code to p2c, modify CUSTSRCS and CUSTDEFS in the Makefile,
  26. then recompile dir.c.
  27.  
  28. The file "system.imp" (copied to %H/system.imp) contains declarations
  29. for "predefined" functions like "sqrt".  These generally have custom
  30. translation code in funcs.c.  Functions with irregular syntaxes have
  31. their symbol table entries built directly in funcs.c; they do not
  32. appear here.  The default sys.p2crc causes p2c to read system.imp at
  33. the beginning of every job.
  34.  
  35. The file "system.m2" contains declarations for predefined Modula-2
  36. functions.  It should be substituted for "system.imp" when translating
  37. Modula-2 programs.
  38.  
  39. The file "turbo.imp" contains declarations for all the Turbo Pascal
  40. standard units like dos and crt.  (These are very incomplete at
  41. present.)  The default sys.p2crc causes p2c to read turbo.imp as
  42. soon as any Turbo standard unit is used.
  43.  
  44. The file "string.pas" implements the Oregon Software dynamic strings
  45. package.  These are translated pretty completely into native C strings
  46. using only the FuncMacro mechanism of p2c---no custom C code was
  47. written to support these functions.
  48.  
  49. The file "NOTES" contains the author's current bugs-and-plans list.
  50. The file "HISTORY" contains the revision history of the program.
  51.  
  52. The "makeproto" program is an independent utility for scanning a large
  53. C program with old-style declarations and building function prototypes
  54. for all its functions.  The "trans.h" file #includes the prototype
  55. files for all of p2c.
  56.  
  57.  
  58. NO WARRANTY:
  59.    The program in this directory was developed for internal use at
  60.    Caltech and thus absolutely no guarantee is made that the program
  61.    will compile or run on other systems or that it will produce correct
  62.    code.  P2c is _not_ a compiler, it is a translator; it strives to
  63.    produce correct code but reserves the right to sacrifice correctness
  64.    in extreme cases for readability in the general case.  P2c is designed
  65.    to be extended (see funcs.c, hpmods.c and citmods.c for examples), but
  66.    some of the main code is pretty messy since the translator has grown
  67.    considerably beyond its original planned scale.  Bug reports are
  68.    welcome at daveg@csvax.caltech.edu, but I may not have time to respond
  69.    to them immediately.  Suggestions are welcome, too!
  70.  
  71.