Stack-oriented programming
Programming paradigm that relies on a stack machine model
Stack-oriented programming is a programming paradigm that relies on one or more stacks to manipulate data and/or pass parameters. Programming constructs in other programming languages need to be modified for use in a stack-oriented system.
Nº Q52845127 ★
Common · Knowledge
Stack-oriented programming
Programming paradigm that relies on a stack machine model
Stack-oriented programming is a programming paradigm that relies on one or more stacks to manipulate data and/or pass parameters. Programming constructs in other programming languages need to be modified for use in a stack-oriented system.
From Wikipedia
Stack-oriented programming is a programming paradigm that relies on one or more stacks to manipulate data and/or pass parameters. Programming constructs in other programming languages need to be modified for use in a stack-oriented system. Most stack-oriented languages operate in postfix or Reverse Polish notation: arguments or parameters for a command are listed before that command. For example, postfix notation would be written 2 3 multiply instead of multiply 2 3 (prefix or Polish notation), or 2 multiply 3 (infix notation). The programming languages Forth, Factor, RPL, PostScript, BibTeX style design language and many assembly languages fit this paradigm. Stack-based algorithms manipulate data by popping data from and pushing data to the stack. Operators govern how the stack manipulates data. To emphasize the effect of a statement, a comment is often used showing the top of the stack before and after the statement; this is known as the stack effect diagram. Some stack-oriented languages may use multiple stacks for different purposes; for example, PostScript uses separate stacks for variables, dictionaries, procedures, some typical procedures, and control flow statements. Analysis of the language model allows expressions and programs to be interpreted simply.
Text: Wikipédia, CC BY-SA 4.0. ·
Related cards
-
Contact process (mathematics)
Model of an interacting particle system
Nº Q5164846 ★★
Not listed
-
D
Data-flow analysis
Technique for gathering information about the possible set of values calculated at various points in a computer program
Nº Q1172416 ★
Not listed
-
L
Loader (computing)
Part of an operating system that is responsible for loading programs and libraries
Nº Q650550 ★
Not listed
-
Y
YANG
Data modeling language
Nº Q8045818 ★
Not listed
-
C
Computer Othello
Abstract strategy game
Nº Q1122104 ★
Not listed
-
D
Disassembler
Computer program that translates machine language into assembly language
Nº Q279650 ★★
Not listed
-
S
SAKO (programming language)
Programming language
Nº Q9326009 ★★
Not listed
-
O
Off-the-Record Messaging protocol
Cryptographic protocol for instant messaging providing forward secrecy and malleable encryption using 128-bit AES, 1536-bit Diffie–Hellman, and SHA-1
Nº Q512063 ★
Not listed
-
C
Compiled language
A programming language implemented with a compiler that translates source code into a binary executable form
Nº Q651794 ★★
Not listed
-
S
Schematron
Rule-based validation language for XML
Nº Q1780096 ★
Not listed
-
L
LL parser
Left-to-right, leftmost derivation top-down parser for a subset of context-free languages
Nº Q932615 ★★
Not listed
-
Copy-and-paste programming
Pejorative for the production of highly repetitive computer programming code, as produced by copy and paste operations
Nº Q5169171 ★
Not listed
-
Composition over inheritance
Software design pattern
Nº Q1780968 ★★
Not listed
-
M
Multiple dispatch
Feature of some programming languages
Nº Q1756543 ★
Not listed
-
S
System migration
Software term; moving a set of instructions or programs from from one platform to another
Nº Q7663721 ★★
Not listed
-
Play Framework
Open-source web framework written in Scala
Nº Q3392101 ★
Not listed
-
T
Time-of-check to time-of-use
Class of software bugs
Nº Q1675168 ★★
Not listed
-
C
Control flow
Order in which individual statements, instructions or function calls of an imperative program are executed or evaluated
Nº Q868299 ★★
Not listed