Category:PL/I
This programming language may be used to instruct a computer to perform a task.
Execution method: | Compiled (machine code) |
---|---|
Garbage collected: | No |
Parameter passing methods: | By reference, By value |
Type safety: | Safe |
Type strength: | Strong |
Type compatibility: | Nominative |
Type expression: | Explicit |
Type checking: | Static |
Lang tag(s): | pli |
See Also: |
PL/I is a general purpose programming language suitable for commercial, scientific, non-scientific, and system programming.
It provides the following data types:
- Floating-point,
- Decimal integer,
- Binary integer,
- Fixed-point decimal (with a fractional part),
- Fixed-point binary (that is, with a fractional part),
- Pointers,
- Character strings of two kinds:
- fixed-length, and
- varying-length.
- Bit strings of two kinds:
- fixed-length, and
- varying length.
The float, integer, and fixed-point types can be real or complex.
Multiple precisions are available for binary fixed-point:
- 8 bits,
- 16 bits,
- 32 bits, and
- 64 bits.
Multiple precisions are available for floating point:
- 32 bits,
- 64 bits, and
- 80 bits.
The language provides for static and dynamic arrays. Of the latter, there are automatic, controlled, and based.
Controlled can be applied to any data type, including scalar, structure, as well as arrays. With controlled, a push-down and pop-up stack is automatically used.
PL/I has four kinds of I/O:
- For simple I/O commands, list-directed input and output requires only the names of the variables. Default format is used, based on the variable's declaration.
- For simple I/O commands, data-directed input and output requires only the names of the variables. For this form, both the names of the variables and their values are transmitted.
- When precise layouts of input and output data is required, edit-directed I/O is used. A format is specified by the user. The format is flexible, and permits the number of digits, and the number of places after the decimal point to be specified dynamically. The format may also be specified in picture form.
- For files held on storage media, record-oriented transmission is often used, either for sequential or random access.
PL/I has built-in checking for such programmer conditions including
- subscript-range checking,
- floating-point overflow,
- fixed-point overflow,
- division by zero,
- sub-string range checking, and
- string-size checking.
Any of those may be enabled or disabled by the user.
When any of those conditions occurs, the user/programmer may trap them and recover from them and continue execution.
PL/I has a unique and powerful pre-processor which is a subset of the full PL/I language so it can be used to perform (among other things):
- source file inclusion,
- conditional compilation, and
- macro expansion.
The pre-processor keywords are prefixed with a % (percent symbol).
See Also
Subcategories
This category has the following 3 subcategories, out of 3 total.
@
- PL/I Implementations (empty)
- PL/I User (19 P)
Pages in category "PL/I"
The following 47 pages are in this category, out of 447 total.
(previous page) (next page)S
T
- Table creation
- Take notes on the command line
- Tau function
- Temperature conversion
- Terminal control/Display an extended character
- Terminal control/Ringing the terminal bell
- Text processing/1
- Text processing/2
- Text processing/Max licenses in use
- Time a function
- Tokenize a string
- Top rank per group
- Topswops
- Totient function
- Towers of Hanoi
- Trabb Pardo–Knuth algorithm
- Trigonometric functions
- Truncatable primes
- Truncate a file
- Two identical strings
V
- Pages using duplicate arguments in template calls
- WikiStubs
- Execution method/Compiled/Machine code
- Garbage collection/No
- Parameter passing/By reference
- Parameter passing/By value
- Typing/Safe
- Typing/Strong
- Typing/Compatibility/Nominative
- Typing/Expression/Explicit
- Typing/Checking/Static
- Programming Languages
- Programming paradigm/Imperative