WikiDer > Абстрактная переписывающая машина
В Абстрактная перезаписывающая машина (ARM) - это виртуальная машина который реализует переписывание терминов для систем минимального переписывания терминов.
Системы минимального переписывания терминов находятся леволинейный системы переписывания терминов в котором каждое правило принимает одну из шести форм:
- Продолжение
- Возвращаться
- Матч
- Добавлять
- Удалить
- Идентификационный
Каждая из этих шести форм отображается (в ARM) на одну или несколько инструкций процессора на большинстве современных микропроцессоров. Соответственно, минимальная перезапись терминов достигается за счет от десятков до сотен тактовых циклов на шаг сокращения - миллионы шагов сокращения в секунду.
В ARM реализована общая система перезаписи терминов, в которой каждая система безусловной леволинейной переписывания терминов, отсортированная по отдельности, может быть преобразована (скомпилирована) в систему минимальной перезаписи терминов, которая приводит к тому же отношению нормальной формы.
Обзор со ссылками на этот процесс компиляции для внутреннего переписывания, а также подробный обзор ARM можно найти в «В пределах досягаемости ARM: компиляция леволинейных систем перезаписи с помощью минимальных систем перезаписи». Описание ленивого (не сокровенного) переписывания можно найти в «Ленивое переписывание на нетерпеливой машине».
Доступна задокументированная реализация ARM (с термином «язык перезаписи Epic»). здесь. Обратите внимание, что сайт и программное обеспечение больше не поддерживаются активно.
Рекомендации
- Giesl, J. R .; Миддельдорп, А. (июль 2004 г.). «Методы преобразования для контекстно-зависимых систем перезаписи» (PDF). Журнал функционального программирования. 14 (4): 379–427. CiteSeerX 10.1.1.127.2817. Дои:10.1017 / S0956796803004945.
- Лукас, Сальвадор (2002). «Ленивая перезапись и контекстно-зависимая перезапись» (PDF). Электронные заметки по теоретической информатике. 64: 234–254. CiteSeerX 10.1.1.14.3470. Дои:10.1016 / S1571-0661 (04) 80353-0. Архивировано из оригинал (PDF) на 2006-05-16. Получено 2015-08-29.
- Нгуен, Куанг-Хай (2001). «Компактная трассировка нормализации с помощью ленивой перезаписи» (PDF). Электронные заметки по теоретической информатике. 57: 87–108. CiteSeerX 10.1.1.24.771. Дои:10.1016 / S1571-0661 (04) 00269-5.
- Schernhammer, F .; Грамлих, Б. (апрель 2008 г.). "Повторение о прекращении ленивой перезаписи" (PDF). Электронные заметки по теоретической информатике. 204: 35–51. CiteSeerX 10.1.1.142.1957. Дои:10.1016 / j.entcs.2008.03.052.