ftp.nice.ch/pub/next/developer/languages/translator/p2c.1.19.s.tar.gz#/src

COPYING
 
HISTORY
 
INSTALL
 
Makefile
 
NOTES
 
README
 
TAGS
 
citmods.c
[View citmods.c] 
comment.c
[View comment.c] 
decl.c
[View decl.c] 
dir.c
[View dir.c] 
expr.c
[View expr.c] 
funcs.c
[View funcs.c] 
hpmods.c
[View hpmods.c] 
lex.c
[View lex.c] 
loc.p2clib.c
[View loc.p2clib.c] 
loc.p2crc
 
makeproto.c
[View makeproto.c] 
out.c
[View out.c] 
p2c.cat
 
p2c.h
[View p2c.h] 
p2c.hdrs
 
p2c.man
[View p2c.man] 
p2c.proto
 
p2clib.c
[View p2clib.c] 
parse.c
[View parse.c] 
pexpr.c
[View pexpr.c] 
string.pas
 
stuff.c
[View stuff.c] 
sys.p2crc
 
system.imp
 
system.m2
 
trans.c
[View trans.c] 
trans.h
[View trans.h] 
turbo.imp
 

README

This directory contains "p2c", a Pascal to C translator.

"p2c"  Copyright 1989, 1990, 1991  Free Software Foundation, Inc.

Written and maintained by:   Dave Gillespie
			     256-80 Caltech
			     Pasadena CA 91125
			     daveg@csvax.cs.caltech.edu, cit-vax!daveg


This program is distributed under the terms of the GNU License Agreement.
See the file src/COPYING for details.

The GNU License Agreement restrictions do _not_ apply to code generated
by p2c, nor to the p2c run-time files "p2clib.c" and "p2c.h".



The file "trans.c" includes an overview of the source files of p2c.
All p2c source files include the header "trans.h".

The file "dir.c" is intended to be modified by the user to install
code for custom translations of certain procedures.  To add your own
custom code to p2c, modify CUSTSRCS and CUSTDEFS in the Makefile,
then recompile dir.c.

The file "system.imp" (copied to %H/system.imp) contains declarations
for "predefined" functions like "sqrt".  These generally have custom
translation code in funcs.c.  Functions with irregular syntaxes have
their symbol table entries built directly in funcs.c; they do not
appear here.  The default sys.p2crc causes p2c to read system.imp at
the beginning of every job.

The file "system.m2" contains declarations for predefined Modula-2
functions.  It should be substituted for "system.imp" when translating
Modula-2 programs.

The file "turbo.imp" contains declarations for all the Turbo Pascal
standard units like dos and crt.  (These are very incomplete at
present.)  The default sys.p2crc causes p2c to read turbo.imp as
soon as any Turbo standard unit is used.

The file "string.pas" implements the Oregon Software dynamic strings
package.  These are translated pretty completely into native C strings
using only the FuncMacro mechanism of p2c---no custom C code was
written to support these functions.

The file "NOTES" contains the author's current bugs-and-plans list.
The file "HISTORY" contains the revision history of the program.

The "makeproto" program is an independent utility for scanning a large
C program with old-style declarations and building function prototypes
for all its functions.  The "trans.h" file #includes the prototype
files for all of p2c.


NO WARRANTY:
   The program in this directory was developed for internal use at
   Caltech and thus absolutely no guarantee is made that the program
   will compile or run on other systems or that it will produce correct
   code.  P2c is _not_ a compiler, it is a translator; it strives to
   produce correct code but reserves the right to sacrifice correctness
   in extreme cases for readability in the general case.  P2c is designed
   to be extended (see funcs.c, hpmods.c and citmods.c for examples), but
   some of the main code is pretty messy since the translator has grown
   considerably beyond its original planned scale.  Bug reports are
   welcome at daveg@csvax.caltech.edu, but I may not have time to respond
   to them immediately.  Suggestions are welcome, too!

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.