- XPL0
XPL0 is a computer programming language that is essentially a crossbetween Pascal and C. It was created in 1976 by Peter J. R. Boyle whowanted a high-level language for his
microcomputer and wanted somethingmore sophisticated thanBASIC , which was the dominate language forpersonal computers at the time. XPL0 is based onPL/0 , an example compiler in the book"Algorithms + Data Structures = Programs" byNiklaus Wirth . The first XPL0 compilerwas written inALGOL . It generated instructions for a pseudo machinethat was implemented as an interpreter on a Digital Group computer basedon the6502 microprocessor . The compiler was converted from ALGOLto XPL0 and was then able to compile itself and run on a microcomputer.XPL0 soon proved its worth in a variety of products based on the 6502.These
embedded system s would otherwise have had their code writteninassembly language , which is much more tedious to do.Boyle used XPL0 to write a disk operating system called Apex. Beginningin 1980 this was sold, along with XPL0, as an alternative to
Apple DOS for the Apple II computer, which was based on the 6502.Since those early years XPL0 has migrated to other processors and manyfeatures have been added. Open sourceversions of the compilers for IBM-style PCs are available from the linkbelow.
Example
This is how the traditional Hello World program is coded in XPL0:
code Text=12; Text(0, "Hello World!")
"Text" is a built-in routine that outputs a string of characters. The zero (0)tells where to send the string. In this case it is sent to the displayscreen, but it could just as easily be sent to a printer, a file, orout a serial port by using a different number.
In XPL0 all names must be declared before they can be used. The commandword "code" associates the name "Text" to built-in routine number 12,which is the one that outputs strings. There are about 80 of thesebuilt-in routines that provide capabilities such as input and output,graphics, and trig functions.
Reference
* Fish, Larry (February 1979). "A Block-Structured Language for Microcomputers". "Kilobaud", p. 24.
External links
* [http://www.idcomm.com/personal/lorenblaney/ XPL0 official website]
* [http://www.idcomm.com/personal/lorenblaney/manual.html XPL0 Programming Language Manual]
* [http://www.6502group.org/hist6502.html The story behind Apex and XPL0]
Wikimedia Foundation. 2010.