Introduction

A reference is the declared name of a variable or constant, along with any subscript list, pointer qualifier (–>), or structure qualifier necessary to indicate its purpose. References to procedures or built-in functions may also include an argument list.

Examples:

X
Y(5,K)
F(Z*5+B,SQRT(Z))
P->S.A(K)
Q.NEXT->NODE.FIELD1

The first example is a simple reference, and the second is a subscripted reference. The third example is a reference to a procedure. The fourth and fifth examples are pointer qualified references.

A reference is associated with a declaration according to the scope of the declared name. The process of associating a reference with a declaration is called reference resolution, and it occurs during compilation of the program.