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

  1. R a λ jsou slova.
  2. Jestliže p a q jsou slova, pak pq je slovo.
  3. Je-li q slovo, pak (q) je slovo.
  4. Zbytek sekvencí znaků nejsou slova.

Sémantika

  1. {a0, a1, ..., an} (n ≥ 1)- abeceda nekonečné pásky (podobná pásce Turingova stroje), - prázdný symbol.a0
  2. R - Přesune hlavu pásku o jednu buňku doprava.
  3. λ - nahraďte aktuální znak znakem ( je nahrazeno ) a posuňte záhlaví o jednu buňku doleva.aiai+1ana0
  4. (q) — opakujte operaci(y) q , dokud nebude hodnota aktuální buňky rovna .a0
  5. Operace se provádějí zleva doprava v pořadí, v jakém jsou zapsány, dokud napravo nezůstane nic.

Další fakta

  1. P′′ je první Turingův kompletní programovací jazyk bez příkazu GOTO .
  2. 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 )
[ (
] )