Xref: utzoo comp.lang.misc:7975 comp.unix.sysv386:8850 comp.os.cpm:5303 comp.os.msdos.programmer:5563 Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!weyrich!orville From: orville@weyrich.UUCP (Orville R. Weyrich) Newsgroups: comp.lang.misc,comp.unix.sysv386,comp.os.cpm,comp.os.msdos.programmer Subject: Re: PL/I compiler (SUMMARY) Message-ID: <1991Jun10.081958.363@weyrich.UUCP> Date: 10 Jun 91 08:19:58 GMT References: <1991Jun4.073924.2610@weyrich.UUCP> Reply-To: orville@weyrich.UUCP (Orville R. Weyrich) Organization: Weyrich Computer Consulting Lines: 217 In article <1991Jun4.073924.2610@weyrich.UUCP> orville@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@math.fu-berlin.de (Debora Weber-Wulff) INFOODS.MIT.EDU!KLENSIN (John C Klensin) ihlpm.att.com!db21 (David Beyerl) shore@theory.tn.cornell.edu (Melinda Shore) tpoind@skipy (Tom Poindexter) jamesp@world.std.com (james M peterson) kludge@grissom.larc.nasa.gov ( Scott Dorsey) bill@ssbn.WLK.COM (Bill Kennedy) vsnyder@jato.jpl.nasa.gov (Van Snyder) clewis@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@uunet.uu.net Weyrich Computer Consulting Voice: (602) 391-0821 POB 5782, Scottsdale, AZ 85261 Fax: (602) 391-0023 (Yes! I'm available) -------------------------------------- ******************************