Stack machine

From Wiki @ Karl Jones dot com
Jump to: navigation, search

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

External links