Languages that support continuation often employ the "spaghetti" form of these entities. Entities of this name can use canaries to check for unexpected values. Attacks on those entities employ smashing, and they can be both wound and unwound. Those entities of this name contain data like the (*) return address and a function's local variables. A data structure of this name was used to store data in calculators that used reverse Polish notation. Along with the heap, it's where data is stored. This is also the name of a data structure that supports push and pop operations. For 10 points, give this name for a data structure that, unlike a queue, operates on a "last in, 
Languages that support continuation often employ the "spaghetti" form of these entities. Entities of this name can use canaries to check for unexpected values. Attacks on those entities employ smashing, and they can be both wound and unwound. Those entities of this name contain data like the (*) return address and a function's local variables. A data structure of this name was used to store data in calculators that used reverse Polish notation. Along with the heap, it's where data is stored. This is also the name of a data structure that supports push and pop operations. For 10 points, give this name for a data structure that, unlike a queue, operates on a "last in, first out" principle.
Languages that support continuation often employ the "spaghetti" form of these entities.
stacks