Invalid REF= assignment

REF= assignments are considered valid if the left-hand side of the assignment is a pointer variable and the right-hand side is a variable of the type that is being referenced.

For example assignments such as the following are invalid

VAR
    foo     : DINT;
    bar     : DINT;
    qux     : SINT;
    refFoo  : REFERENCE TO DINT;
END_VAR

refFoo  REF= 5;         // `5` is not a variable
foo     REF= bar;       // `foo` is not a pointer
refFoo  REF= qux;       // `refFoo` and `qux` have different types, DINT vs SINT