Абстрактная машина для языка While. Команды АМ. Семантика команд АМ. | MetodPro.ru

Реклама на сайте

Абстрактная машина для языка While. Команды АМ. Семантика команд АМ.


35. Абстрактная машина для языка While. Команды АМ. Семантика команд АМ.
Абстрактная машина
Для описания абстрактной машины (АМ) лучше всего сначала определить её конфигурации, затем систему команд и их смысл.
Конфигурации АМ имеют вид: <c,e,s>, где
с – последовательность исполняемых команд – код,
e – стек для вычислений,
s – память
Stack = (Int (пересечение улыбочка) Bool)*
e Э(принадлежит) Stack
Для простоты будем считать, что память это тоже самое, что и состояние программы: s Э State
Команды АМ
inst ::= PUSH-n | ADD | MULT | SUB | TRUE | FALSE | EQ | LE | AND | OR | NOT | LOAD-x | STORE-x | NOOP | BRANCH(c,c’) | LOOP(c,c’)
c ::= э(эпсилон) | inst:c
(эпселон) – пустая последовательность,
«:» - операция cons, соединяет голову с хвостом
MULT – умножение, AND | OR | NOT – логические операции, LOAD-x | STORE-x – для работы с памятью
BRANCH(c,c’) – позволяет реализовать ветви вычисления
LOOP(c,c’) - цикл
Синтаксическую категорию последовательностей команд будем обозначать Code.
Таким образом
<c,e,s> Э Code * Stack * State
Конфигурацию будем считать финальной, если её кодовый компонент – пустая последовательность. То есть финальная конфигурация имеет вид <э ,e ,s> .
Семантика команд АМ
Семантику команд АМ можно определить в виде системы переходов. Отношение перехода (черный треугольник |>) содержит записи вида: <c ,e ,s> |> <c’,e’,s’> обозначающие, что за один шаг АМ перейдёт из конфигурации <c ,e ,s> в конфигурацию <c’,e’,s’>.



Методические пособия

  • Системы автоматизированного проектирования
  • Социология молодёжи
  • Общая социология
  • Криптография
  • Проектирование трансляторов
  • Компьютерная графика
  • Моделирование систем
  • Информационная безопасность
  • Теория вычислительных процессов
  • Логические основы искусственного интелекта
  • Проектирование распределённых информационных систем