P′′
P′′ je nízkoúrovňový programovací jazyk vytvořený v roce 1964 Corradem Böhmem .
Definice
P′′ je formálně definováno jako množina abecedních slov 4 instrukcí {R, λ, (, )} takto:
Syntaxe
- R a λ jsou slova.
- Jestliže p a q jsou slova, pak pq je slovo.
- Je-li q slovo, pak (q) je slovo.
- Zbytek sekvencí znaků nejsou slova.
Sémantika
- {a0, a1, ..., an} (n ≥ 1)- abeceda nekonečné pásky (podobná pásce Turingova stroje), - prázdný symbol.a0
- R - Přesune hlavu pásku o jednu buňku doprava.
- λ - nahraďte aktuální znak znakem ( je nahrazeno ) a posuňte záhlaví o jednu buňku doleva.aiai+1ana0
- (q) — opakujte operaci(y) q , dokud nebude hodnota aktuální buňky rovna .a0
- Operace se provádějí zleva doprava v pořadí, v jakém jsou zapsány, dokud napravo nezůstane nic.
Další fakta
- P′′ je první Turingův kompletní programovací jazyk bez příkazu GOTO .
- Příkazy jazyka Brainfuck (s výjimkou vstupu a výstupu) lze přeložit do P′′ a naopak:
Brainfuck
|
P′′
|
>
|
R
|
<
|
L=r'λ
|
+
|
r = XR
|
-
|
r'=rrrrrr...rr ( nkrát )
|
[
|
(
|
]
|
)
|