PL/I compiler (SUMMARY)

Orville R. Weyrich orville at weyrich.UUCP
Mon Jun 10 18:19:58 AEST 1991


In article <1991Jun4.073924.2610 at weyrich.UUCP> orville at weyrich.UUCP (Orville R. Weyrich) writes:
>
>I need to obtain a PL/I compiler (close to full implementation) for any of
>the three computers which I have:
>
>	Microport Unix System V/386
>
>	MS-DOS
>
>	CP/M  (just about any soft-sector 5 1/4" format will do).
>
>I would be grateful for any recommendations as to where I can find such an
>animal.
>
>Also, if you have one you don't need, how about letting me have it cheap?
>

Thanks for all the replies to my request for information on PL/I compilers.

Any additions or corrections are welcome.

Several persons offered me compilers, and several other persons asked
for leads on how to obtain compilers. I will put these folks in touch after
I get mine :-).

I summarize below [shamelessly edited] replies from the following individuals:

	mcnc.org!dg-rtp.dg.com!cochran (Dave Cochran)
	emory!pecanpi!syoung (Stan Young)
	prodnet.la.locus.com!jfr (Jon Rosen)
	mailrus!umich!vela!amaranth (Paul Amaranth)
	racerx!ken (Ken Hardy)
	grian.cps.altadena.ca.us!morris (Mike Morris)
	software.org!cox (Guy Cox)
	bony1.bony.com!stevef (Steve Faiwiszewski)
	magrethea.matrox.com!danderso
	dww at math.fu-berlin.de (Debora Weber-Wulff)
	INFOODS.MIT.EDU!KLENSIN (John C Klensin)
	ihlpm.att.com!db21 (David Beyerl)
	shore at theory.tn.cornell.edu (Melinda Shore)
	tpoind at skipy (Tom Poindexter)
	jamesp at world.std.com (james M peterson)
	kludge at grissom.larc.nasa.gov ( Scott Dorsey)
	bill at ssbn.WLK.COM (Bill Kennedy)
	vsnyder at jato.jpl.nasa.gov (Van Snyder)
	clewis at ferret.ocunix.on.ca (Chris Lewis)

========================= Digital Research PL/I for CP/M =======================

PL/I? On an MS-DOS or CP/M (!!!) platform with close to full
implementation? Well, the beast compiler we used to use on our
IBM 370 was a wee bit on the overweight side. I mean, when you 
stuff all the goodies from Algol, COBOL, FORTRAN and what-not
in one bag, it won't exactly be petite. But lots of luck, and let
us know if you find anything!

[Do you mean the one that would compile a blank card, produce a bunch of
error messages like "missing BEGIN -- generated", etc. to produce an
executable load module that occupied quite a few K of memory and
which had the same effect as IEFBR14? :-)]

Remember that long ago, in a place far away, FORTRAN & COBOL were compiled on
cpus with 4096 words of memory (not kilobytes or megabytes, just 4,096).

Digital Research Inc. sold a PL/1G compiler for CP/M.  "G" was supposed to be
a relatively machine independent subset of fully bloated IBM PL/1.
Supposedly a semi-international standard.  PL/1 G was available on a lot of
different platforms.

I've got a copy of Digital Research's PL/I.  This is a Subset G
implementation, under CP/M.  The package includes DR's RMAC (a fancy macro 
assembler), librarian, linker, other utilities, and the documentation.  
I also have DR's ISAM package (don't recall the name at the moment, but it 
was a nice little package for CP/M).

I did have experience with the CP/M one.  If I remember correctly 
(which may not be the case) Digital Research produced
that one.  It was not even a G subset and had enough limitations to
drive you crazy.  They ported it to MS-DOS without enhancements.  I haven't
heard anything about it for years.  If that is all you can find, you
have my sympathy.

I did some programming projects with it at an old job many
years ago.  I don't know how complete you need, but it filled
my bill.

I don't know about the fate of PLI-80, but PLI-86 was sold to
another company whose name I don't recall.  It's supported pretty
lousily.  If you can get your hands on PLI-80, it might be sufficient 
for MS-DOS, using one of the commercial CPM/Z80 emulators (there are 
both hardware as well as software packages).

It was very limited: 64K for code & 64K data on 8086, and of course
64k for CP/M-80. The code produced was very good though. We use it in 1985
to write a small cad package using GEM. They also had a database manager and
a screen designer, which were sold as separate items.

"PL/0.25" would be closer to the truth.  It is also full of bugs, with the 
bug level increasing as one moves from CP/M-80 toward MessDOS.  
You can probably find someone to sell it to you, possibly even DRI.  
But they don't fix bugs, and the documentation stinks, and it isn't really 
PL/I in any of the conventional or Standard dialects.

My dim recollection is that it was painfully slow and had about eleventy-
five passes, but it may be what you're looking for.

As I remember the Digital Research PL/I compiler was not real compatable
with our VAX PL/I stuff - as in major recoding.

The DR PL/I was a PL/I subset G compiler, whereas the VMS PL/I is a full
implementation.  PL/I was the Ada of the 1960's; enormous with every programmer
using a different subset. [I think I object to Ada being compared to PL/I :-)]
The DR compiler was still being sold as late as 1983.

The Digital Research PL/I compiler was a rather rich subset G implementation.
The G subset is far from "big" PL/I but it is quite adequate (I missed the
select) for most practical things.  Moreover, since PL/I is so unpopular, I
found the code to be very portable, nobody wants to enhance anything.  The
most robust implementation was for CP/M-80, worked great on 8080, 8085, and
Z80 machines, I never checked the later models.  

I pondered using PL/1G on my CP/M machine, then I discovered it didn't allow
you to "*" array declarations in procedure argument declarations so I
abandoned it.

[Note -- Digital Research is still around -- I got some e-mail from someone
there recently regarding another subject. I think their main product now is
an MS-DOS clone. I don't know what the status of their PL/I product is].

========================= Digital Research PL/I for MS-DOS =====================

It was distributed by Digital Research.  The compiler first came out for 8080 
in CP/M, then migrated to 8086 & MS-DOS.  It was *quite* buggy;  I don't think 
DR ever released any version beyond 1.0.  The compiler supposedly supported 
PL/I ANSI Subset G.

The CP/M-86 version was a hastily translated (the translate program was 
written in PL/I-80 and the turkeys lost the source!) and although a little 
wobbly, also worked rather well.  When it appeared that CP/M-86 was going 
to lose, big time, to MS-DOS they did a quick and dirty conversion to MS-DOS 
1.1 [sic] and it was the worst of the bunch.  It was cantakerous and generally 
unreliable.  I don't know which one IBM shipped, probably CP/M-86, I doubt 
that the DOS version could have passed even the least stringent acceptance 
tests.

I can't guarantee the linker will work under 3.x or up since I have never 
tested it. I used it once under MS-DOS 2.x. 

========================= Language Processors, Inc. ============================

Check with a company called Language Processors, Inc., in Massachusetts.  I
THINK that they are mostly Unix-based, but they may have MS-DOS compilers as
well.  Data General sells their PL/I compiler on 386/ix and on DG/UX.  I have
no phone number, but you can write to them at:

		Language Processors, Inc.
		959 Concord St.
		Framingham, MA  01701

I know of two PL/I compilers available on Unix, one is made by LPI and
the other is not commercially available.  The only thing I know about the
LPI compiler is that it's expensive.

LPI makes a putative PL/I for several U**X environments and, 
allegedly, for MS-DOS (running in 386 mode with extenders, if I recall).  
I think their prices start in the $1200 vicinity and go up rapidly, but 
my memory is pretty vague.  The compiler is close to, but not quite 
conforming (if I recall) to ANSI X3.74-1981.  Unfortunately, that 
Standard is obsolete and represented a language a little too small to 
get any useful work done.  And LPI has traditionally been very hard to 
deal with.

LPI makes PL/I for '386 UNIX and while I have no experience with it, 
the genes are good.  It, like LPI's other languages, was shrunk down from 
"big" PL/I and was written in PL/I.  Maybe their C compiler is written in C, 
but I'm pretty sure their others are written in PL/I.  I'm a little sorry that 
the language fell into such ill repute, if you avoid the chrome and tail fins 
it's a pretty good language.  I lust for its BCD arithmetic for money 
calculations and I still understand its structures better than C.  
It's certainly possible to write a bad program in PL/I but it's lots easier 
to write something unreadable in C. [Please -- no language wars here!!!].
If LPI did V/386 PL/I correctly, I have no reason to believe they didn't, it
should be trim and compact.  They've certainly got their code generator act
together by now and the linker shouldn't carry along any baggage you didn't
ask for.  I'll also speculate that it's subset G with some extensions (select
maybe?  huh? Huh? :-) which should be sufficient for as much work as you'd
want to do on a '386.

Also, LPI (I think it was LPI, or maybe it was Greenhills) builds their
compilers in PL/1, and since they have to port PL/1 first to each platform,
there's likely to be a commercial version of their PL/1 for the platform you
want.

========================= Other Suggestions ============================

There is an IBM-supplied compiler that runs under OS/2.  I haven't 
been able to exercise it, but it is apparently ok.  But you didn't 
mention OS/2 in your little list.  I also don't imagine it is cheap.

There are a few folks around who claim to be able to translate PL/I 
automatically into, e.g., C.  I don't believe a word of it, but could 
probably dig out a list if you wanted it.

There is some sort of PL/I language *interpreter* on Simtel20.  Look for
RUNPLI or some such.  

I saw an ad in PC Week (or was it Byte?) some months ago for a PL/I compiler
for '386s.  It wasn't DR or MS or IBM.



--------------------------------------           ******************************
Orville R. Weyrich, Jr., Ph.D.                   Certified Systems Professional
Internet: orville%weyrich at uunet.uu.net             Weyrich Computer Consulting
Voice:    (602) 391-0821                         POB 5782, Scottsdale, AZ 85261
Fax:      (602) 391-0023                              (Yes! I'm available)
--------------------------------------           ******************************



More information about the Comp.unix.sysv386 mailing list