When a module name instruction is encountered the name space is modified. However the old name space should be reset when an end module statement is reached. As the modules can be nested into each other the name spaces are stored in a name space stack during syntax analysis.
This function pushes the current name space onto the stack. After calling this function the caller can put the new string into the pEx->CurrentNameSpace variable and later calling ex_PopNameSpace() can be called to retrive the saved name space.
int expression_PushNameSpace(peXobject pEx