P′′
P′′ este un limbaj de programare de nivel scăzut creat în 1964 de Corrado Böhm .
Definiție
P′′ este definit formal ca un set de cuvinte alfabetice cu 4 instrucțiuni {R, λ, (, )} după cum urmează:
Sintaxă
- R și λ sunt cuvinte.
- Dacă p și q sunt cuvinte, atunci pq este un cuvânt.
- Dacă q este un cuvânt, atunci (q) este un cuvânt.
- Restul secvențelor de caractere nu sunt cuvinte.
Semantică
- {a0, a1, ..., an} (n ≥ 1)- alfabetul unei benzi infinite (asemănător cu banda unei mașini Turing), - un caracter gol.a0
- R - mută capul benzii cu o celulă la dreapta.
- λ - înlocuiți caracterul curent cu ( este înlocuit cu ) și mutați capul cu o celulă la stânga.aiai+1ana0
- (q) — repetați operația(ele) q până când valoarea celulei curente este egală cu .a0
- Operațiile se efectuează de la stânga la dreapta în ordinea în care sunt scrise, până când nu rămâne nimic în dreapta.
Fapte suplimentare
- P′′ este primul limbaj de programare Turing complet fără instrucțiunea GOTO .
- Comenzile limbajului Brainfuck (cu excepția intrării și ieșirii) pot fi traduse în P′′ și invers:
Brainfuck
|
P′′
|
>
|
R
|
<
|
L=r'λ
|
+
|
r=λR
|
-
|
r'=rrrrr...rr ( de n ori)
|
[
|
(
|
]
|
)
|