During elaboration each instantiated VHDL object is assigned a unique
name called instance name. The construction rules to generate instance
names are defined in the LRM. name_stack
is a stack based
string class used to build names during elaboration. It stores the
different parts an instance name is constructed of. New name parts
may be stored on top of the stack via a push operation. With a
subsequent pop operation the last stored name is removed from the
stack.