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.