PCPC  (Version 1.0)  Product Information                       August 1991

    PCPC stands for Post's Conservative Pascal-C Converter. This utility may
be useful to Pascal programmers unwilling to turn into C hackers. It runs on
industry-standard personal computers and comes entirely and exclusively
in SOURCE CODE (there's 400 K of Turbo Pascal;  a grammar text file, C library,
documentation, examples: a total > 600 K).
    No .COM .EXE .TPU .OBJ .LIB ..., no trade secrets, no viruses!

Recommended system:
- IBM-PC AT computer or compatible machine with 640 K of RAM
- MS-DOS version 3.3
- TURBO PASCAL compiler version 4.0
- any good C compiler with a Large Memory Model under MS-DOS

    The code is SELF-TRANSLATING and produces its own C version, running under
Turbo C++ and with Unix C compilers, for example. "Conservative" means that
PCPC generates 1978 K&R-C .
  ANSI function prototypes are the only extensions; stdio.h, stdlib.h and
math.h are the only library references. An option strips the ANSI features
down to old-fashioned function declarations: use PCPC as a bridge to move
Turbo Pascal programs (like the converter itself) to traditional UNIX systems.

    PCPC supports strings, sets, variant records, typed constants, units,
and nested procedures and functions, even if they are mutually recursive.
The generated C programs don't allocate any auxiliary global or heap memory:
only auxiliary stack variables and parameters are used so as to preserve any
re-entrant code.

    PCPC relies on a "human readable", formal grammar specification file for
Pascal and comprises tools for LL1 parser generation. Three parsers account for
various speed/memory tradeoffs. The scanner & symbol-table-manager & parser &
semantic-action modules of PCPC should be general enough to serve other
purposes, such as smart pretty printer utilities.

    PCPC is designed to translate all reasonably PORTABLE features of Turbo
Pascal 4.  PC-BIOS, MS-DOS and Intel processor specific details are somewhat
neglected. You may want to use PCPC on "algorithmic" programs migrating away
from MS-DOS to any other platform where the ubiquitous C is available, but
Turbo Pascal is not.

    Here's what I did NOT debug thoroughly (albeit formally translate)
    in release 1.0 (obviously, my source code refrains from all that):
- Unsafe constructs (which offend program flow structure or strong typing):
    goto, exit, absolute, move, fillchar, addr, @-operator, ptr,
    typeless parameters, generic pointers, typecasts, sizeof,
    string index 0 to handle length.
- Intel processor idiosyncracies and assembler interface:
    inline interrupt external mem port  ptr ofs seg cseg dseg sptr sseg
- Advanced file and directory manipulations (lack of time and portability):
    chDir mkDir rmDir getDir
    flush seekEof seekEoln seek truncate
    setTextBuf blockread blockwrite
- qualified identifiers
- Units DOS, CRT, GRAPH. (Turbo3 and Printer are deemed obsolete).
- Odds and ends:
    mark release random randomize

DISCLAIMER:
  The author makes NO WARRANTY that the PCPC program is fit for any particular
purpose. In no event shall the author be liable for any kind of loss or damage
related to its use.


License policy:

  PCPC is distributed as SHAREWARE and is NOT public domain or free software.
The author retains the Copyright on all of the Pascal *.PAS and documentation
*.TXT files. These texts represent all the human work.
  Any *.C and  *.H files, and uncommented C and binary files mechanically
derived by self-translation or compilation, are public: copyright claims
on them are void.
  You may test this software as you like  and duplicate it for others.
Users on a regular basis, commercial users and institutions, are asked
to license the product:
  Send your name, address, and a fee of 80.00 French Francs to the author.
Customers will receive a free upgrade to the upcoming version (1.1)  on a
3.5" disc, in early 1992.
  Add 20.00 FF for shipping outside the European Community.

  REGISTERED USERS are granted the right to include any part of PCPC source
code in their own programs and are free to give away or sell any  EXECUTABLE
or  C CODE  produced with the help of PCPC.
You may pass along PCPC Pascal SOURCE code and documentation TXT files,
modified or not, ONLY IF you include this package as a whole, without
removing any copyright or license statements.

    Bulletin board system operators and mail order distributors who want to
supply PCPC (with a moderate charge for their services) should:

1. Deliver the complete package which includes this licence information.
   To keep viruses out, no binary code, other than proven file compression
   utilities, should be used on it, or added to it.
2. Clearly explain to their customers that the unlimited use of this
   software still requires a registration with the author.


Please send your  suggestions, patches, bug reports, registrations,  to:

   Georg Post                          My Postal Check Account is:
   65, rue Racine                          CCP  LA SOURCE
   F-92120 MONTROUGE                       31 554 26 B
   France
