Автор: Сергей Абрамов | Университет города Переславля им. А. К. Айламазяна
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
 
Уровень:
Для всех
Студентов:
107
В учебном курсе определяется один из методов метавычислений — суперкомпиляция,— и для простого (но полного) языка программирования TSG строится соответствующая метапрограмма — суперкомпилятор.
Суперкомпилятор позволяет по заданной программе p вычислять ее эффективную версию pcls, специализированную под случай, когда входные данные d не произвольные, а берутся из некоторого множества (заданного некоторым классом cls). Показано, что суперкомпиляция может эффективно решать классические задачи специализации программ, реализовывать классические проекции Футамуры–Турчина. В курсе рассмотрен перенос суперкомпиляции на произвольный язык программирования. В завершении курса вводятся понятия нестандартных семантик и модификаторов семантик языков программирования. Показано, что эти понятия обобщают конструкции переноса в произвольные языки программирования таких механизмов как окрестностный анализ, инверсное вычисление, суперкомпиляция, да и стандартное вычисление. Курс завершается построением семи схем проекций, которые (за счёт специализации, например, при помощи суперкомпилятора) позволяют получить семь программ для эффективной реализации нестандартных семантик.