On 24/01/17 09:52 AM, Thorsten Palm wrote:
Actually not true at all. The constraint on an identifier in an enumeration (as on any other identifier being defined) is that it not (or rather that no other identifier with the same spelling) have been defined _in the same block_. For example, the fragment
program p; const a=42; procedure q; var x:(a,b,c); {...}
is correct, despite "a" being defined when it occurs in the enumeration.
Hello Thorsten,
Thanks for the reply.
It would appear that searching for an identifier that has been defined is not the logical inverse of searching for and identifier that has not been defined.
I have my symbol tables set up as a push down stack. Therefore, I will restrict searching for undefined symbols to the top of the stack while searching for a defined symbol will use the entire stack.
Thanks for pointing this out.
Regards,
Paul Isaacs