Acorn people: double-click on !Make to build ptc.


README for ptc as enhanced by Tor Lillqvist.

$Log:	README,v $
Revision 1.11  90/12/09  23:03:41  tml (Tor Lillqvist)
Changed the type of the Bools[] strings to plain char* (not unsigned).

Revision 1.10  90/03/28  00:51:09  tml (Tor Lillqvist)
Fixed outputting 'char' as the C type for Pascal 'Char'.  This
is wrong because Pascal Chars are of an unsigned nature while
C chars usually are signed.

Revision 1.9  90/03/27  02:19:18  tml (Tor Lillqvist)
Removed void casts from ptc.h.  The Ultrix 3.1 compiler didn't
like them.
Use unsigned chars.  That was what we had supposedly used all the
time, but we had n fact used normal (signed on most systems) chars.
(In the ptc-generated C code, that is.)  This caused a problem
when using char variables as array indices, for instance, as
ptc believed the char to have a value range of 0..255 when in 
fact the signed char had the range -128..127.

Revision 1.8  90/03/25  09:31:05  tml (Tor Lillqvist)
Fixed Fopen.
Don't put the original ptc.p in the tar archive, put a backwards
diff from the current instead.

Revision 1.7  90/03/25  08:58:59  tml (Tor Lillqvist)
Fix in ptc.h: added missing __LINE__ arguments to Fopen.

Revision 1.6  90/03/23  16:24:51  tml (Tor Lillqvist)
In ptc.h: set eoln flag at eof.  Use putc, not fputc.

Revision 1.5  90/03/17  17:32:02  tml (Tor Lillqvist)
Fixed Seek in ptc.h (parens were wrong).

Revision 1.4  90/03/13  19:57:16  tml (Tor Lillqvist)
Fixes to ptc.[ph].  Even better laziness.

Revision 1.3  90/03/13  08:23:28  tml (Tor Lillqvist)
Include all RCS logs in the tar file, not only the one for ptc.p.

Revision 1.2  90/03/13  08:13:34  tml (Tor Lillqvist)
By mistake I used fgetc in ptc.h.  getc is better of course (faster).

Revision 1.1  90/03/13  08:10:49  tml (Tor Lillqvist)
Initial revision


I have made some relatively minor enhancements to the ptc Pascal-to-C
translator.  The RCS logs are included the file RLOGS.  A translated
version of ptc.p for bootstrapping is included in the tar archive.
The original version of ptc.p can be generated by applying the
ptc.p.backdiff diff.

Tor Lillqvist
tml@tik.vtt.fi

GTOAL:  added support for 'others:' and 'break()' -- so that
web -> pascal sources can compile without changefiles! Also
added some support for program arguments; rudimentary but
soon to be extended. (Needs a getopt with long arguments)
At the moment it outputs the argument list at the top of
the C file in a comment.  This should really be in a string.

I've added a really nasty bodge (#ptcheader) which is used
with mkptypes to insert better-quality headers than ptc
itself produces.  ptc's headers have been suppressed and
mkptypes is used instead.

Acorn's toansi fixes up the bits of C ptc couldn't reach.

Because the terms of use for ptc include that the original
source should be distributed, I've included a diff file from
the one I received to the current state.  You can use this
and patch -R to restore the original if you need to.

There is still work to be done on program parameters.  At the
moment, unknown files are prompted for when they are opened.
I hope to add passing these filenames in as command-line
arguments.

Graham Toal <gtoal@ed.ac.uk>
