packages icon
     This is a PL/M to C converter.  It will take most PL/M code and do a nice
job of converting it to C.  It tries to be intelligent about leaving formatting
and comments intact.  This version supports PL/M-286.  It is something I wrote
about a year ago to convert several meg of source code, and it did a 99.5%
conversion.  I was later handed some source code that it crashed on, and I
extended it to support that code too.
     Please keep in mind that this may well not work for your code.  It has
been tested only on a few sets of code, each following its own set of coding
standards.  Also, don't expect a lot of support from me, as my interest in
PL/M is next to none.  I no longer work for the employer for whom I wrote
this converter, but they have given me permission to own and post the sources.
I will, time permitting, collect bug fixes and post patches to the software.
Please mail fixes directly to me, as I may miss any posting of them.  If
anyone is interested in taking over maintenance of this code, please let me
know!
     The source code compiles under Unix.  I've compiled it on a Sun-4, a VAX
running Ultrix, and a VAX running Mt. Xinu.  At one time I had a version that
ran under MSDOS, but I can't guarantee it will now.  I've included a makefile
for use with Turbo-C.  You need to define IBMPC to compile it.  What it could
really use is tuning for a large memory model, as in it's present state, it
can only handle small source files.  It could also benefit from a good man
page.
     The converter expects source code to be in "proper" format (i.e. proper
use of EXTERNAL declarations, and following of the Intel PL/M grammar as the
converter knows it.)  It has some moderate error-recovery, but may well dump
core if it expects one thing and gets another.
     I've included a garbage file test.plm; typeing "plm2c test.plm" should
result in a test.c file that is identical to the provided test.c.out.
     See the file CAVEATS.DOC for compatibility issues.

     Hope you find it useful!

     Robert Ankeney
     April 9, 1991
     ...!tektronix!bob@reed.bitnet