──<pointer expression>──<equality operator>──<pointer expression>──────┤
<equality operator>
──┬─ EQL ──┬───────────────────────────────────────────────────────────┤ ├─ = ────┤ ├─ NEQ ──┤ ├─ ^= ───┤ ├─ IS ───┤ └─ ISNT ─┘
A pointer relation determines whether two pointer expressions refer to the same character position in the same array row. If the character sizes of the two pointer expressions are unequal, the comparison always yields the value FALSE.
A pointer relation should not be confused with a string relation. A string relation compares the character strings referenced by pointer expressions. A pointer relation compares the pointer expressions themselves. For example, assume that pointers P1 and P2 are initialized as follows:
POINTER P1,P2; REAL ARRAY A,B[0:1]; P1 := POINTER(A,8); P2 := POINTER(B,8); REPLACE P1 BY "A"; REPLACE P2 BY "A";
Given these initializations, the following string relation has a value of TRUE:
P1 EQL P2 FOR 1
The following pointer relation has a value of FALSE because P1 refers to array A and P2 refers to array B:
P1 EQL P2

