stringtranslate.com

PAG''

P′′ (P doble primo [1] ) es un lenguaje de programación informático primitivo creado por Corrado Böhm [2] [3] en 1964 para describir una familia de máquinas de Turing .

Definición

(en adelante P′′ ) se define formalmente como un conjunto de palabras del alfabeto de cuatro instrucciones , de la siguiente manera:

Sintaxis

  1. y son palabras en P′′.
  2. Si y son palabras en P′′, entonces es una palabra en P′′.
  3. Si es una palabra en P′′, entonces es una palabra en P′′.
  4. Sólo las palabras derivables de las tres reglas anteriores son palabras en P′′.

Semántica

Relación con otros lenguajes de programación

Programa de ejemplo

Böhm [2] proporciona el siguiente programa para calcular el predecesor ( x -1) de un número entero x > 0:

que se traduce directamente al programa Brainfuck equivalente :

 > [ > ] < [ [ < [ < ]] < ] > +

El programa espera que un número entero se represente en notación biyectiva en base k , codificando los dígitos respectivamente, y que tenga antes y después de la cadena de dígitos. (Por ejemplo, en biyectiva base 2, el número ocho se codificaría como , porque 8 en base 2 es 100, se invierten los dígitos y se suma uno a cada uno de ellos). Al principio y al final del cálculo, la cinta -head está en el precedente de la cadena de dígitos.

Referencias

  1. ^ "PDBL: una herramienta para la simulación de la máquina de Turing". 4 de septiembre de 2021.
  2. ^ abc Böhm, C .: "Sobre una familia de máquinas de Turing y el lenguaje de programación relacionado", ICC Bull. 3, 185-194, julio de 1964.
  3. ^ ab Böhm, C. y Jacopini, G.: "Diagramas de flujo, máquinas de Turing y lenguajes con sólo dos reglas de formación", CACM 9(5), 1966. (Nota: este es el artículo más citado sobre el teorema del programa estructurado .)

enlaces externos