Category:XPL0: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{stub}}{{language}} |
{{stub}}{{language}} |
||
'''XPL0''' is essentially a cross between Pascal and C. It was created in 1976 |
'''XPL0''' is essentially a cross between Pascal and C. It was originally created in 1976 |
||
by Peter J. R. Boyle, who designed it to run on a 6502 |
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 |
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 |
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 |
book ''Algorithms + Data Structures = Programs'' by Niklaus Wirth. The first |
||
compiler was written in ALGOL. This was used to create a compiler |
XPL0 compiler was written in ALGOL. This was then used to create a compiler |
||
written in XPL0 syntax. |
written in XPL0's syntax. |
||
XPL0 has been implemented on more than a dozen processors, but is |
|||
currently maintained for IBM-type PCs. Free, open-source versions of the |
currently maintained for IBM-type PCs. Free, open-source versions of the |
||
compilers (interpreted, assembly |
compilers (interpreted, assembly-code compiled, and optimizing) are |
||
available from the official website: xpl0.org [http://www.xpl0.org/] |
available from the official website: xpl0.org [http://www.xpl0.org/] |
||
Revision as of 17:57, 23 April 2012
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 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. This was then used to create a compiler written in XPL0's syntax.
XPL0 has been implemented on more than a dozen processors, but is currently maintained for IBM-type PCs. Free, open-source versions of the compilers (interpreted, assembly-code compiled, and optimizing) are available from the official website: xpl0.org [1]
Here is how the traditional Hello World program is coded:
code Text=12; Text(0, "Hello World!")
Text is a built-in 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 built-in routine number 12, which outputs strings. There are about 80 of these built-in routines that provide capabilities such as input and output, graphics, and trig functions.
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 864 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
- Anti-primes
- 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
- Arithmetic-geometric 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
- Case-sensitivity 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 N-dimensional points
- Change e letters to i in words
- Changeable words
- Chaocipher
- Chaos game
- Character codes
- Chebyshev coefficients
- Check Machin-like formulas
- Check that file exists
- Chinese remainder theorem
- Chinese zodiac
- Cholesky decomposition
- Chowla numbers
- Circles of given radius through two points
- Circular primes
- Closest-pair 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
- Command-line arguments
- Comments
- Common list elements
- Compare a list of strings
- Compare length of two strings
- Compile-time 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
- CRC-32
- Create a file
- Create a two-dimensional 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
- Decorate-sort-undecorate 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 multiple-dwelling problem
- Disarium numbers
- Distinct power numbers
- Diversity prediction theorem
- Documentation
- Doomsday rule
- Dot product
- Double Twin Primes
- Doubly-linked list/Definition
- Doubly-linked list/Element definition