The Parse Service Routine builds a five-word PDE to describe a CONSTANT operand.
The PDE has the following format:
| Offset decimal |
Meaning |
|---|
| 0 |
Length1 |
| 1 |
Length2 |
| 2 |
Reserved |
| 4 |
Reserved Word Number |
| 6 |
Flags |
| 8 |
A pointer to the string of digits |
| 12 |
A pointer to the exponent |
| 16 |
A pointer to the decimal point |
- Length1:
- contains the length of the term entered, depending on the type
of operand entered as follows:
- For a fixed-point numeric literal, the length includes the digits
but not the sign or decimal point.
- For a floating-point numeric literal, the length includes the
mantissa (string of digits preceding the letter E) but not the sign
or decimal point.
- For a non-numeric literal, the length includes the string of characters
but not the apostrophes.
- Length2:
- For a floating-point numeric literal, length2 contains the length
of the string of digits following the letter E but not the sign.
- Reserved Word Number:
- The reserved word number contains the number of the IKJNAME
macro that corresponds to the entered name.
Note: The possible
names of reserved words are given by coding a list of IKJNAME macros
following an IKJRSVWD macro. One IKJNAME macro is needed for each
possible name. If the name entered does not correspond to one of
the names in the IKJNAME macro list then parse sets this field to
zero.
- Flags:
- Byte 1:
| Setting |
Meaning |
|---|
| 0... .... |
The operand is missing. |
| 1... .... |
The operand is present. |
| .1.. .... |
Constant. |
| ..1. .... |
Variable. |
| ...1 .... |
Statement number. |
| .... 1... |
Fixed-point numeric literal. |
| .... .1.. |
Non-numeric literal. |
| .... ..1. |
Figurative constant. |
| .... ...1 |
Floating-point numeric literal. |
Byte 2:
| Setting |
Meaning |
|---|
| 0... .... |
Sign on constant is either plus or omitted. |
| 1... .... |
Sign on constant is minus. |
| .0.. .... |
Sign on exponent of floating-point numeric literal
is either plus or omitted. |
| .1.. .... |
Sign on exponent of floating-point numeric literal
is minus. |
| ..1. .... |
Decimal point is present. |
| ...x xxxx |
Reserved bits. |
- Pointer to the string of digits:
- contains a pointer to the string of digits, not including the
sign if entered. Contains zero if a constant type of operand is not
entered.
- Pointer to the exponent:
- contains a pointer to the string of digits in a floating-point
numeric literal following the letter E, not including the sign if
entered.
- Pointer to the decimal point:
- contains a pointer to the decimal point in a fixed-point or
floating-point numeric literal. If a decimal point is not entered,
this field is zero.