CONSTANT

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.