P′′
Материал из Википедии — свободной энциклопедии
P′′ — низкоуровневый язык программирования, созданный в 1964 году Коррадо Бёмом.
Содержание |
Определение [править]
P′′ формально определяется как набор слов алфавита из 4 инструкций {R, λ, (, )} следующим образом:
Синтаксис [править]
- R и λ — слова.
- Если p и q — слова, то pq — слово.
- Если q — слово, то (q) — слово.
- Остальные последовательности символов не являются словами.
Семантика [править]
- R — переместить указатель на 1 ячейку вправо (всего существует n+1 ячеек с индексами от 0 до n; начальное положение указателя на ячейке 0; n+1=0).
- λ — увеличить значение текущей ячейки на 1 и переместить указатель на 1 ячейку влево (0-1=n).
- (q) — повторять операцию (операции) q, пока значение текущей ячейки не равно 0.
- Операции выполняются слева направо в том порядке, в котором они записаны, до тех пор, пока справа ничего не останется.
Дополнительные факты [править]
- P′′ — первый полный по Тьюрингу язык программирования без оператора GOTO.
- Команды языка Brainfuck (за исключением ввода и вывода) могут быть переведены на P′′ и обратно:
| Brainfuck | P′′ |
|---|---|
| > | R |
| < | L=r'λ |
| + | r=λR |
| - | r'=rrrrr...rr (n раз) |
| [ | ( |
| ] | ) |