Category:XPL0
This programming language may be used to instruct a computer to perform a task.
See Also: 


XPL0 is essentially a cross between Pascal and C. It looks somewhat like Pascal but works more like C. It was originally created in 1976 by Peter J. R. Boyle, who designed it to run on a 6502 microprocessor as an alternative to BASIC, which was the dominant language for personal computers at the time. XPL0 is based on PL/0, an example compiler in the book Algorithms + Data Structures = Programs by Niklaus Wirth. The first XPL0 compiler was written in ALGOL, which was then used to create a compiler written in XPL0's syntax.
XPL0 has been implemented on more than a dozen processors, but it's currently maintained on the Raspberry Pi and IBMtype PCs. Programs run under Linux, Windows, and MSDOS. Free, opensource versions of the compilers (interpreted, assemblycode compiled, and optimizing) are available from the official website: xpl0.org [1]. The 32bit version of the MSDOS compiler, XPLPX, was used for many of these Rosetta Code tasks, but more recent tasks were implemented using the compilers for the Raspberry Pi. Some tasks were implemented using EXPL32.
Here's how the traditional Hello World program is coded:
code Text=12; Text(0, "Hello World!")
Text is a builtin routine, called an intrinsic, that outputs a string of characters. The zero (0) tells where to send the string. In this case it is sent to the display screen; but it could just as easily be sent to a printer, a file, or out a serial port by using a different number.
All names must be declared before they can be used. The command word code associates the name Text to the builtin routine number 12, which outputs strings. There are over a hundred of these builtin routines that provide capabilities such as input and output, graphics, and trig functions.
The 32bit versions of the compilers (as opposed to the older, 16bit versions) automatically declare code declarations. Thus the above program can simply be rewritten as:
Text(0, "Hello World!")
Subcategories
This category has the following 2 subcategories, out of 2 total.
@
 XPL0 Implementations (1 P)
 XPL0 User (1 P)
Pages in category "XPL0"
The following 200 pages are in this category, out of 869 total.
(previous page) (next page)A
 A+B
 ABC problem
 ABC words
 Abelian sandpile model
 Abundant odd numbers
 Abundant, deficient and perfect number classifications
 Achilles numbers
 Ackermann function
 Additive primes
 Address of a variable
 Air mass
 Align columns
 Almost prime
 Alternade words
 Amicable pairs
 Angle difference between two bearings
 Angles (geometric), normalization and conversion
 Animate a pendulum
 Animation
 Anonymous recursion
 Antiprimes
 Append numbers at same position in strings
 Apply a digital filter (direct form II transposed)
 Approximate equality
 Archimedean spiral
 Arithmetic derivative
 Arithmetic evaluation
 Arithmetic numbers
 Arithmeticgeometric mean
 Arithmetic/Complex
 Arithmetic/Integer
 Array concatenation
 Arrays
 Ascending primes
 Assertions
 Associative array/Creation
 Associative array/Iteration
 Attractive numbers
 Audio alarm
 Averages/Arithmetic mean
 Averages/Mean angle
 Averages/Mean time of day
 Averages/Median
 Averages/Mode
 Averages/Pythagorean means
 Averages/Root mean square
B
 Babbage problem
 Bacon cipher
 Balanced brackets
 Barnsley fern
 Base 16 numbers needing a to f
 Base64 decode data
 Base64 encode data
 Bell numbers
 Benford's law
 Bernstein basis polynomials
 Best shuffle
 Binary digits
 Binary search
 Binomial transform
 Bioinformatics/base count
 Birthday problem
 Bitmap
 Bitmap/Bresenham's line algorithm
 Bitmap/Bézier curves/Cubic
 Bitmap/Bézier curves/Quadratic
 Bitmap/Flood fill
 Bitmap/Midpoint circle algorithm
 Bitmap/Read a PPM file
 Bitmap/Write a PPM file
 Bitwise operations
 Blum integer
 Boolean values
 Box the compass
 Brazilian numbers
 Brilliant numbers
 Brownian tree
 Bulls and cows
C
 Caesar cipher
 Calculating the value of e
 Calendar
 Calmo numbers
 CalmoSoft primes
 Camel case and snake case
 Canonicalize CIDR
 Cantor set
 Casesensitivity of identifiers
 Casting out nines
 Catalan numbers
 Catalan numbers/Pascal's triangle
 Centre and radius of a circle passing through 3 points in a plane
 Centroid of a set of Ndimensional points
 Change e letters to i in words
 Changeable words
 Chaocipher
 Chaos game
 Character codes
 Chebyshev coefficients
 Check Machinlike formulas
 Check that file exists
 Chinese remainder theorem
 Chinese zodiac
 Cholesky decomposition
 Chowla numbers
 Circles of given radius through two points
 Circular primes
 Closestpair problem
 Code Golf: Code Golf
 Collect and sort square numbers in ascending order from three lists
 Color of a screen pixel
 Color wheel
 Colorful numbers
 Colour bars/Display
 Colour pinstripe/Display
 Combinations
 Combinations with repetitions
 Comma quibbling
 Commandline arguments
 Comments
 Common list elements
 Compare a list of strings
 Compare length of two strings
 Compiletime calculation
 Composite numbers k with no single digit factors whose factors are all substrings of k
 Concatenate two primes is also prime
 Concurrent computing
 Conditional structures
 Consecutive primes with ascending or descending differences
 Constrained random points on a circle
 Continued fraction
 Continued fraction/Arithmetic/Construct from rational number
 Convert seconds to compound duration
 Convex hull
 Conway's Game of Life
 Coprime triplets
 Coprimes
 Copy a string
 Copy stdin to stdout
 CORDIC
 Count how many vowels and consonants occur in a string
 Count in factors
 Count in octal
 Count occurrences of a substring
 Cousin primes
 Cramer's rule
 CRC32
 Create a file
 Create a twodimensional array at runtime
 Create an HTML table
 CSV data manipulation
 CSV to HTML translation
 Cubic special primes
 Cullen and Woodall numbers
 Cumulative standard deviation
 Curve that touches three points
 Curzon numbers
 CUSIP
 Cut a rectangle
 Cyclops numbers
D
 Damm algorithm
 Date format
 Day of the week
 Day of the week of Christmas and New Year
 Days between dates
 De Polignac numbers
 Deal cards for FreeCell
 Deceptive numbers
 Decision tables
 Decoratesortundecorate idiom
 Deming's funnel
 Department numbers
 Descending primes
 Detect division by zero
 Determine if a string has all the same characters
 Determine if a string has all unique characters
 Determine if a string is collapsible
 Determine if a string is numeric
 Determine if a string is squeezable
 Determine sentence type
 Digit fifth powers
 Digital root
 Digital root/Multiplicative digital root
 Dinesman's multipledwelling problem
 Disarium numbers
 Distinct power numbers
 Diversity prediction theorem
 Documentation
 Doomsday rule
 Dot product
 Double Twin Primes
 Doublylinked list/Definition
 Doublylinked list/Element definition