Programmazione stack-oriented: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
←Nuova pagina: La '''programmazione stack-oriented''' (letteralmente "orientata alla pila"), o '''stack-based''' ("basata su pila") è un paradigma di programmazione che basa il s... |
m →Manipolazione dello stack: tag source deprecati, replaced: <source lang= → <syntaxhighlight lang= (3), </source> → </syntaxhighlight> (3) |
||
(4 versioni intermedie di 3 utenti non mostrate) | |||
Riga 10:
[[File:Human stack.svg|thumb|Illustrazione]]
Dapprima verrà preso {{code|2}} e posto sulla pila, seguito da {{code|3}}. In seguito si incontra {{code|mul}}, che è un
Nel caso di calcoli più complessi, come {{code|(2 + 3) × 11 + 1}} (in notazione postfissa {{code|2 3 add 11 mul 1 add}}),
Riga 38:
== Manipolazione dello stack ==
Generalmente, i linguaggi di programmazione basati su pila forniscono metodi per manipolare la pila stessa. Fra i più comuni, {{code|dup}} per duplicare l'elemento in cima allo stack, {{code|exch}} (o {{code|swap}}) per scambiare i due elementi in cima, {{code|roll}} per permutare in maniera ciclica un sottinsieme degli elementi in cima,<ref>{{cita web|url=http://www.ugrad.math.ubc.ca/Flat/stack-eg.html|titolo=5.5.1 How Roll Works|lingua=en|editore=[[Università della Columbia Britannica]]|sito=ubc.ca|urlarchivio=
Per mostrare gli effetti di un operatore, può essere usato un [[Commento (informatica)|commento]]. La notazione seguente è usata solitamente in [[Forth (linguaggio)|Forth]], dove i commenti sono inseriti fra parentesi.
<
Per esempio, gli operatori basilari del Forth sono descritti come segue:
<
dup ( a -- a a )
drop ( a -- )
Riga 52:
over ( a b -- a b a )
rot ( a b c -- b c a )
</syntaxhighlight>
E la funzione <code>fib</code> è descritta come segue:
<
* [[Notazione polacca inversa]]▼
* [[Concatenative programming]]▼
== Note ==
<references/>
== Voci correlate ==
▲* [[Notazione polacca inversa]]
▲* [[Concatenative programming]]
{{Paradigmi di programmazione}}
|