Difference between revisions of "Stack machine"
Karl Jones (Talk | contribs) (Created page with "In computer science, computer engineering, and programming language implementations, a '''stack machine''' is a type of computer. == Description == In some c...") |
(No difference)
|
Latest revision as of 07:06, 22 September 2016
In computer science, computer engineering, and programming language implementations, a stack machine is a type of computer.
Description
In some cases, the term refers to a software scheme that simulates a stack machine. The main difference from other computers is that most of its instructions operate on a pushdown stack of numbers rather than numbers in registers.
A stack computer is programmed with a reverse Polish notation instruction set. A stack machine must be a computer, and therefore must be Turing complete, unlike a pushdown automaton.
Most computer systems implement a stack in some form to pass parameters and link to subroutines. This does not make these computers "stack machines."
The common alternatives to stack machines are register machines, in which each instruction explicitly names specific registers for its operands and result.
See also
- Belt machine
- Comparison of application virtual machines
- Concatenative programming language
- Stack-oriented programming language
External links
- Stack machine @ Wikipedia