Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Цикл работы КАМ

1) Выбор категориального терма, построенного из комбинаторов.

2) Означивание этого терма производится путем его аппликации к среде.

Начальное состояние Конечное состояние
Терм Код Стек Терм Код Стек
(S,t) car:C A S C А
(S,t) cdr:C A T C А
S (quoteB)C A B C А
S (cur C) C1 A [C:S] C1 А
([C:S], t) app. C1 A (S,t) C:C1 А
T cons C S:A (S,t) C А
S push.C A S C S:A
T swap.C S:A S C T:A

А - вектор содержимого стека,

”:” - разделитель,

[C:S] - совокупность.

В языке ДЗК (декартово замкнутые категории) использовано 8 символов, которым ставятся в соответствие инструкции КАМ:

 


Сar = Fst - получает терм (s,t) и заменяет его на s.

Cdr = Snd - получает терм (s,t) и заменяет его на t.

Quote = ’ - получает терм s и оставляет его без изменений

Cur = Λ - замещает терм s на С:s, где C - код, инкапсулированный в Λ.

Cons = > - строит совокупность из вершины стека и терма, заменяет терм на эту

совокупность и проталкивает стек.

app = App - получает терм (C:s,t), замещает его на (s,t), а оставшейся части кода

устанавливает префикс C.

swap =, - меняет содержимое терма и вершины стека местами.

push = < - берет терм и помещает его в вершину стека.

 

Стек Код

           
     
 
 


А С Вместо рор используется пара из swap и cons.

 

App○<x,y> Term

App(<x,y>Term)

Код: push,[x],swap,[y],cons,app

Пример КАМ кода: сложение 2 и 3

((+2)3) –это аппликация (+ к 2) →(+2) к 3

push push quote + swap quote 2 cons app swap quote 3 cons app

<<’+,’2>App,’3>App

 

<== предыдущая лекция | следующая лекция ==>
Категориальная абстрактная машина (КАМ) | Пример вычисления выражений на КАМ
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 291; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.