Máquina de reescritura abstracta


La máquina de reescritura abstracta (ARM) es una máquina virtual que implementa la reescritura de términos para sistemas de reescritura de términos mínimos.

Los sistemas de reescritura de términos mínimos son sistemas de reescritura de términos lineales a la izquierda en los que cada regla adopta una de seis formas:

Cada una de estas seis formas se asigna (en ARM) a una o unas pocas instrucciones de procesador en la mayoría de los microprocesadores contemporáneos. En consecuencia, la reescritura mínima de términos se logra en decenas a cientos de ciclos de reloj por paso de reducción, millones de pasos de reducción por segundo.

ARM implementa la reescritura de términos generales, en el sentido de que cada sistema de reescritura de términos lineales a la izquierda incondicionales ordenados individualmente se puede transformar (compilar) en un sistema de reescritura de términos mínimos que da lugar a la misma relación de forma normal.

Se puede encontrar una descripción general con referencias a este proceso de compilación para la reescritura más interna, así como una descripción general detallada de ARM, en "Dentro del alcance de ARM: compilación de sistemas de reescritura lineal izquierda a través de sistemas de reescritura mínimos" . Puede encontrar una descripción de la reescritura perezosa (no más interna) en "Reescritura perezosa en maquinaria ansiosa" .

Una implementación documentada de ARM (con el término lenguaje de reescritura Epic) está disponible aquí . Tenga en cuenta que el sitio y el software ya no se mantienen activamente.