Adapted from Appendix A, Tonge, Fred M., Julian Feldman. Computing: An Introduction to Procedures and Procedure-Followers. McGraw-Hill Book Company, 1975. ISBN 0-07-064947-2.
TL is a language for describing procedures or algorithms. It is not intended for direct translation into machine code. The intent is to provide a common description of an algorithm or procedure that can then be translated by a programmer into his or her language of choice.
;
[ ]
:
true
or false
The lower the number, the higher the precedence of the operator. Operator precedence may be altered using parentheses.
Symbol | Meaning | Precedence |
---|---|---|
# |
Length | 10 |
@ |
Substring† | 9 |
& |
Concatenation | 8 |
↑ |
Exponentiation | 7 |
* |
Multiplication | 6 |
/ |
Division | 6 |
+ |
Addition | 5 |
- |
Subtraction | 5 |
not |
Not | 4 |
= |
Equal | 3 |
≠ |
Not equal | 3 |
> |
Greater than | 3 |
≥ |
Greater than or equal | 3 |
< |
Less than | 3 |
≤ |
Less then or equal | 3 |
and |
And | 2 |
or |
Or | 1 |
† May be of form (string)@(<number>)
or (string)@(<number>,<number>)
. First number is offset, starting from 1, for the start of the substring. Second number is count of characters to use.
<assignment> | ::== | <variable>←<expression> |
<read> | ::== | read <variable>, <variable>,... |
<write> | ::== | write <expression>,<expression>,... |
<conditional> | ::== | if <logical> then <statement> else <statement> | if <logical> then <statement> |
<to> | ::== | to <statement-label> |
<done> | ::== | done |
<repetition> | ::== | <control clause> <statement> |
<control clause> | ::== | <until> | <for> |
<until> | ::== | until <logical> |
<for> | ::== | for <variable> ← <for-list> |
<for-list> | ::== | <for-element> | <for-element>, <for-list> |
<for-element> | ::== | <arith-expr> | <arith-expr> thru <arith-expr>
| <arith-expr> thru <arith-expr> by
<arith-expr> |
<block-evocation> | ::== | <statement-label> | <statement-label> (<argument-list>) |
<local> | ::== | local <variable-list> |
<return> | ::== | return <expression> |
<comment> | ::== | "(any string excluding quotation marks)" |
Last updated: Mon, Sep 16, 2002