2.4.3.38. ex_IsSymbolValidLval(pEx)

[<<<] [>>>]

This function checks whether the actual symbol used in as a start symbol of a left value is defined as a CONST in the BASIC program or not. If this is a const then the syntax analizer has to report an error (since v1.0b31).

This function is called from the function ex_LeftValue after the symbol was name space corrected.

Note that a symbol can be a global, name space independant constant, a name space local constant and a function local constant. All these differ only in name decoration inside the interpreter.

If a symbol is a local variable but is also a module or global symbol, but is NOT a function local symbol then that variable can indeed stand on the left side of a LET command. Therefore we check if the symbol is in the local variables table and in case this is in some of the global or module contant table, we just do not care.

int ex_IsSymbolValidLval(peXobject pEx
  )@{
The function returns 1 if the symbol is a constant or zero if not.
[<<<] [>>>]