The PLMX Compiler

 

At the beginning of this year (february 2009) Emmanuel Roche has work to resurrect a "lost" PL/M compiler called PLMX. He do a great job collecting software and examples from Rlee Peter's archives, retyping in full the user's manual and also adding some smart guidelines for CP/M newbies.  

 

But what is PLMX ?
I found this on a IEEE Micro archive:

"PLMX communicates with all 8/1 6-bit micros

 PLMX, a universal high-level language for microprocessors, generates code for any 8- or 16-bit device. Designed for use in microcomputer product development and real-time process control, it is priced at half the cost of PL/M and other nonuniversal microprocessor software packages, according to its developer, Systems Consultants, Inc. PLMX takes PL/M to its logical conclusion, says the company. PL/M, originally derived from PL/l, is used only on 8080- or 8086-based systems. Other versions, such as PL/Z for the Z80 and PL/65 for the 6500, are used only with those processors. PLMX combines the features of PL/M with universality, allowing users to employ new microprocessor architectures without having to develop new software for them.
PLMX's syntax is identical to PL/M's, which means that the entire library of existing PL/M programs can be compiled under PLMX. Hence, PL/M programs may be used on microprocessors other than the 8080, via the PLMX compiler.
Currently, the PLMX compiler runs under the CP/M and Tektronix Tekdos operating systems. Interfaces to other operating systems will be available during 1981. In addition, PLMX is a true compiler, not an interpretive compiler such as Basic or Pascal in some of their current implementations. Since an interpreter must be resident in ROM for execution of programs and thus must have a considerable amount of memory space, its usefulness in developing ROM-based products is limited. The programs compiled by PLMX, however, run an average of 15 times faster than those on an interpreter, since at run time the programs are already in memory in executable form. This, says Systems Consultants, makes PLMX appropriate for real-time applications.
With no arbitrary formatting rules or line numbers, PLMX source statements resemble simple English declarations and follow a well-defined logic structure. The source text can contain comments anywhere except within reserved words, identifier names, and numbers.
"

PLMXadv1
Thanks, Emmanuel, for your great work!

Now the fun part, you can grab:


Enjoy!


Update on 2016/11/04.

Emmanuel found a new advertising article and post it on comp.os.cpm. I'm reporting it here for completeness:

  PLMXadv2
- "PLMX: A PL/M to Fit All Micros"
  "The Intelligent machines Journal", Issue 20, 21 January 1980, p.10

https://books.google.fr/books?id=Lz4EAAAAMBAJ&pg=PA10#v=onepage&q&f=false

(Retyped by Emmanuel ROCHE.)

PLMX, billed as a universal high-level language for microprocessors, has  been introduced  by  Systems Consultants, Inc. ("SCI"), of San  Diego,  California.
PLMX  can be used with all 8- or 16-bit microprocessors known today,  and  its modular structure will enable it to generate code for any such  microprocessor yet  to be developed, the company says. PLMX is designed primarily for use  in microcomputer  product  development systems and in real-time  process  control applications.

According  to  Dr. Jack Ingber, manager of product development for  SCI,  PLMX takes  PL/M to its logical conclusion. PL/M, originally derived from PL/I,  is used only on Intel 8080- and 8086-based systems. Other versions, such as PL/Z for  the Zilog Z-80 and PL/65 for the 6502, are used only with those  specific microprocessors.

PLMX syntax is identical to that of PL/M, which means that the entire  library of  existing  PL/M programs can be compiled under PLMX. It  also  means  that, through the PLMX compiler, PL/M programs may be used on microprocessors  other than the Intel 8080.

PLMX  is  said to be usable on any 8- or 16-bit microprocessor,  but  it  can, according to SCI, also be adapted to interface with practically any  operating system.  Currently (January 1980), the PLMX compiler can run under TEKDOS  and CP/M  operating systems. TEKDOS is the operating system for  Tektronix'  8002A Universal  Microprocessor Development System, and CP/M is an operating  system that  can  support  just  about any Intel  8080-based  system  in use  today, including  many  hobbyist and small industrial systems.  Interfaces  to  other operating systems will be available in 1980.

In  addition,  PLMX is a true compiler, not an interpretive compiler  such  as BASIC  or  Pascal in some of their current (1980)  implementations.  Since  an interpreter must be resident in ROM for execution of programs, an interpretive compiler requires a considerable amount of memory space, thus restricting  its usefulness in developing ROM-based products.

As seen in the illustration, the structure of PLMX allows for one interface to the operating system and another to the particular microprocessor, neither  of which requires any modification to the main body of PLMX itself (i.e., to  the compiler).  The interfaces to the different operating systems or to  different microprocessors  are modularized and, therefore, easily interchangeable.  This means  that  Input/Output routines or alternate code  generators  are  readily accomplished.