КАТЕГОРИИ: Архитектура-(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) |
Проекции Футамуры
Трансформационные семантики В операционных семантиках обычные и смешанные вычисления существенно отличаются (хотя и обладают сходной функцией). Это противоречие устраняет трансформационный подход. Идея трансформационного подхода: Рассматривается программа, и ищутся команды, которые могут быть выполнены в данный момент. Выполненные команды редуцируются, т.е. убираются из программы. Из-за итераций не все команды могут быть удалены после первого выполнения. Поэтому в правила преобразования программного текста включаются также “раскрытия”, которые отщепляют от итерации один экземпляр (для редукции). Команды итерации хранятся в виде особого объекта-замыкания, где они либо представлены явно, либо в виде ссылки на соответствующую подпрограмму - шаг итерации (соответственно рекурсия без памяти - среда хранится явно и - с памятью). Трансформационная семантика не показывает, какая команда должна выполняться, лишь показывает список команд, которые могут быть выполнены. Определение: Неподвижная точка - это состояние программы, при котором не может быть выполнена ни одна команда. Если заданы все аргументы правильно составленной программы и выполнены все команды, то неподвижная точка есть результат (его выдача). Если же заданы не все аргументы, то неподвижная точка - остаточная программа. Определение: Система преобразований любой текстовой информации, которая приводит к одной и той же неподвижной точке независимо от порядка применения допустимых преобразований называется системой Черча - Россера. Трансформационные семантики опираются на ряд правил преобразования текста программ, которые могут быть легко расширены. При построении трансляторов: Проекция смешанного вычислителя на интерпретатор входного языка – это программа транслятора с этого языка на машинный. Таким образом, по теореме Успенского (следствие из проекций Футамуры), для того, чтобы на данный машинный язык можно было перевести любой другой язык программирования, необходимо и достаточно, чтобы в машинном языке были определены смешанные вычисления. Tran(ρ,a) - транслятор с входного языка. Obρ(x) - объектная программа, перевод ρ в машинный язык. Свойства: Int(p,a) = p(a) p(a) = Obρ(a) Tran(p,x) = Obρ(x) Pa(b) = p(a,b) Mix(p,a,y) = Pa(y)
1) Intp(x) = Obρ(x) 2) Mix Int(p,x) = Tran(p,x) # 1. Obρ(a) = Int(p,a) = p(a) 2. Tran(p,x) = Mix(Int,p,x) = Intp(x) = Obρ(x) # Смешанные вычисления хорошо соответствуют λ-исчислению, каррируется каждый аргумент, его подстановка ведет к преобразованию тела λ-абстракции, т.е. получению остаточной программы. Контрольные вопросы
ЛИТЕРАТУРА
Дата добавления: 2014-01-11; Просмотров: 1341; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |