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
-
R
Referential transparency
Property of a computer software expression or subroutine that replacing it in the code with its evaluated result does not change the program's behavior
Nº Q1754278 ★
Not listed
-
S
Skeleton (computer programming)
Design pattern in software development
Nº Q1169129 ★★
Not listed
-
D
Data segment
Storage segment
Nº Q491179 ★
Not listed
-
Zero to the power of zero
Mathematical expression with no necessarily obvious value
Nº Q6139783 ★★★★
Not listed
-
S
Satisfiability modulo theories
Problem of determining whether a mathematical formula is satisfiable
Nº Q2067766 ★★
Not listed
-
S
Side effect (computer science)
Additional effect of a function in a procedural programming language besides returning a value
Nº Q1144241 ★★
Not listed
-
Multiplicative inverse
Of a number x, 1 divided by x
Nº Q216906 ★★★
Not listed
-
Hy (programming language)
Dialect of the Lisp programming language designed to interact with Python
Nº Q22661291 ★
Not listed
-
T
Turtle (syntax)
Format for expressing data in the RDF data model
Nº Q114409 ★
Not listed
-
Homoiconicity
Feature of a programming language that a program written in it can be manipulated as data using the language, and thus the program's internal representation can be inferred just by reading the program itself
Nº Q925488 ★
Not listed
-
OR-Tools
Open source software suite by Google
Nº Q108872465 ★
Not listed
-
Julia (programming language)
High-performance dynamic programming language
Nº Q2613697 ★★★
Not listed
-
S
Service (systems architecture)
Set of related software functionalities made available to be reused for different purposes
Nº Q1220872 ★
Not listed
-
F
Factor (programming language)
Programming language
Nº Q1391724 ★
Not listed
-
I
IDL (programming language)
Programming language
Nº Q1665857 ★
Not listed
-
D
Decentralized computing
Concept in where a computer system can have many parts or nodes and still function fully if one of the parts or nodes fail
Nº Q5249081 ★
Not listed
-
M
Music Macro Language
Programming language for generating computerized music
Nº Q6941595 ★★
Not listed
-
U
Unified Parallel C
Extension of the C programming language designed for high-performance computing on large-scale parallel machines
Nº Q2095090 ★
Not listed