P′′
P′′ er et programmeringssprog på lavt niveau skabt i 1964 af Corrado Böhm .
Definition
P′′ er formelt defineret som et sæt alfabetiske ord med 4 instruktioner {R, λ, (, )} som følger:
Syntaks
- R og λ er ord.
- Hvis p og q er ord, så er pq et ord.
- Hvis q er et ord, så er (q) et ord.
- Resten af tegnsekvenserne er ikke ord.
Semantik
- {a0, a1, ..., an} (n ≥ 1)- alfabetet af et uendeligt bånd (svarende til båndet på en Turing-maskine), - et tomt symbol.a0
- R - flytter tapehovedet en celle til højre.
- λ - erstat det nuværende tegn med ( erstattes af ) og flyt hovedet en celle til venstre.aiai+1ana0
- (q) — gentag operationen/operationerne q , indtil værdien af den aktuelle celle er lig med .a0
- Operationer udføres fra venstre mod højre i den rækkefølge, de er skrevet, indtil intet er tilbage til højre.
Yderligere fakta
- P′′ er det første Turing-komplette programmeringssprog uden GOTO-sætningen .
- Brainfuck sprogkommandoer (med undtagelse af input og output) kan oversættes til P′′ og omvendt:
Brainfuck
|
P′′
|
>
|
R
|
<
|
L=r'λ
|
+
|
r=λR
|
-
|
r'=rrrrr...rr ( n gange)
|
[
|
(
|
]
|
)
|