1.8.10. _ex_PopLabel()

[<<<] [>>>]

This function is used to pop an unnamed label off the compile stack.

When a construct, like IF/ELSE/ENDIF or REPEAT/UNTIL or WHILE/WEND is created it is defined using compile time label stack.

For example analyzing the instruction WHILE pushes a "go forward" value on the compile time label stack. When the instruction WEND is analyzed it pops off the value and stores NodeId for the label. The label itself is not present in the global label symbol table, because it is an unnamed label and is referenced during compile time by the pointer to the label structure.

The value of the AcceptedType ensures that a WEND for example do not matches an IF.

pSymbolLABEL _ex_PopLabel(peXobject pEx,
                          long *pAcceptedType
);

The array pAcceptedType is an array of long values that have MAX_GO_CONSTANTS values. This is usually points to a static table element which is generated by the program syntaxer.pl.

=bold Do NOT get confused! This stack is NOT the same as the waiting label stack. That is for named labels. =nobold


[<<<] [>>>]