stack
v.
place one thing on top of another in a heap, pile
n.
heap; tall bookshelf; chimney; (Computers) area in memory where information can be stored and then retrieved in the reverse order; (Internet) layers of the open system interconnection used to transfer information
Stack
stack
Noun
1. an orderly pile
(hypernym) pile, heap, mound, cumulus
(hyponym) haystack, hayrick, rick
(derivation) pile, heap
2. (often followed by `of') a large number or amount or extent; "a batch of letters"; "a deal of trouble"; "a lot of money"; "he made a mint on the stock market"; "it must have cost plenty"
(synonym) batch, deal, flock, good deal, great deal, hatful, heap, lot, mass, mess, mickle, mint, muckle, peck, pile, plenty, pot, quite a little, raft, sight, slew, spate, tidy sum, wad, whole lot, whole slew
(hypernym) large indefinite quantity, large indefinite amount
(hyponym) flood, inundation, deluge, torrent
3. a list in which the next item to be removed is the item most recently stored (LIFO)
(synonym) push-down list, push-down stack
(hypernym) list, listing
4. a large tall chimney through which combustion gases and smoke can be evacuated
(synonym) smokestack
(hypernym) chimney
(hyponym) funnel
5. a storage device that handles data so that the next item to be retrieved is the item most recently stored (LIFO)
(synonym) push-down storage, push-down store
(hypernym) memory device, storage device
Verb
1. load or cover with stacks; "stack a truck with boxes"
(hypernym) load, lade, laden, load up
(see-also) store, hive away, lay in, put in, salt away, stack away, stash away
2. arrange in stacks; "heap firewood around the fireplace"; "stack your books up on the shelves"
(synonym) pile, heap
(hypernym) arrange, set up
(hyponym) rick
(see-also) pile up, heap up, stack up
3. arrange the order of so as to increase one's winning chances; "stack the deck of cards"
(hypernym) arrange, set up
Stack
(n.)
To lay in a conical or other pile; to make into a large pile; as, to stack hay, cornstalks, or grain; to stack or place wood.
(a.)
Any single insulated and prominent structure, or upright pipe, which affords a conduit for smoke; as, the brick smokestack of a factory; the smokestack of a steam vessel.
(a.)
A section of memory in a computer used for temporary storage of data, in which the last datum stored is the first retrieved.
(a.)
A pile of wood containing 108 cubic feet.
(a.)
A pile of poles or wood, indefinite in quantity.
(a.)
A number of flues embodied in one structure, rising above the roof. Hence:
(a.)
A large pile of hay, grain, straw, or the like, usually of a nearly conical form, but sometimes rectangular or oblong, contracted at the top to a point or ridge, and sometimes covered with thatch.
(a.)
A data structure within random-access memory used to simulate a hardware stack; as, a push-down stack.
Webster's Revised Unabridged Dictionary (1913), edited by Noah Porter.
About
stack
<
programming> (See below for synonyms) A data structure for storing items which are to be accessed in last-in first-out order.
The operations on a stack are to create a new stack, to "push" a new item onto the top of a stack and to "pop" the top item off. Error conditions are raised by attempts to pop an empty stack or to push an item onto a stack which has no room for further items (because of its implementation).
Most processors include support for stacks in their
instruction set architectures. Perhaps the most common use of stacks is to store subroutine arguments and return addresses. This is usually supported at the
machine code level either directly by "jump to subroutine" and "return from subroutine" instructions or by
auto-increment and auto-decrement
addressing modes, or both. These allow a contiguous area of memory to be set aside for use as a stack and use either a special-purpose
register or a general purpose register, chosen by the user, as a
stack pointer.
The use of a stack allows subroutines to be
recursive since each call can have its own calling context, represented by a stack frame or
activation record. There are many other uses. The programming language
Forth uses a data stack in place of variables when possible.
Although a stack may be considered an
object by users, implementations of the object and its access details differ. For example, a stack may be either ascending (top of stack is at highest address) or descending. It may also be "full" (the stack pointer points at the top of stack) or "empty" (the stack pointer points just past the top of stack, where the next element would be pushed). The full/empty terminology is used in the
Acorn Risc Machine and possibly elsewhere.
In a list-based or
functional language, a stack might be implemented as a
linked list where a new stack is an empty list, push adds a new element to the head of the list and pop splits the list into its head (the popped element) and tail (the stack in its modified form).
At
MIT,
pdl used to be a more common synonym for stack, and this may still be true.
Knuth ("The Art of Computer Programming", second edition, vol. 1, p. 236) says:
Many people who realised the importance of stacks and queues independently have given other names to these structures: stacks have been called push-down lists, reversion storages, cellars, dumps, nesting stores, piles, last-in first-out ("LIFO") lists, and even yo-yo lists!
[
Jargon File]
(1995-04-10)
(c) Copyright 1993 by Denis Howe