Читать онлайн «Разработка компиляторов»

Автор Вояковская Н.Н.

А А. ерехов A. E Мое аль Д Ю Булычев Н Н. Вояковс ая р тк к мпилят р в т НАЦИОНАЛЬНЫЙ ОТКРЫТЫЙ УНИВЕРСИТЕТ Н. Н. Вояковская, А. Е. Москаль, Д. Ю. Булычев, А. А. Терехов Разработка компиляторов 2-е издание, исправленное Вояковская Н. Н. Москаль А. Е. Булычев Д. Ю. Терехов А. А. Национальный Открытый Университет "ИНТУИТ" 2016 2 Н. Н. Вояковская, А. Е. Москаль, Д. Ю. Булычев, А. А. Терехов Разработка компиляторов Разработка компиляторов/ Н. Н. Вояковская, А. Е Москаль, Д. Ю. Булычев, А. А. Терех)в - М. : Национальный Открытый Университет "ИНТУИТ", 2016 В данном курсе рассматриваются теоретические основы и практические методы создания компиляторов языков программирования. Изложение ведется на основе языка программирования С# и платформы . NET. (с) ООО "ИНТУИТ. РУ", 2006-2016 (с) Вояковская Н. Н. , Москаль А. Е. , Булычев Д.
Ю. , Терех)в А. А. , 2006-2016 з Н. Н. Воя ков екая, А. Е. Москаль, Д. Ю. Булычев, А. А. Терехов Разработка компиляторов Введение и обзор платформы . NET В введении рассматриваются цели и задачи данного курса, его структура и рамки, а также говорится об необходимых предварительных знаниях, которые потребуются для полноценного понимания курса. В первой лекции обсуждаются следующие вопросы: общая идея архитектуры . NET; достоинства и недостатки . NET; схема трансляции программ в . NET; основные черты промежуточного представления, используемого в . NET (MSIL); безопасность в . NET; объектная модель . NET; понятие сборки, манифест сборки; модель безопасности в . NET; единая система типов данных. Введение Данный курс посвящен принципам разработки компиляторов. Основные задача данного курса - познакомить студентов с базовыми идеями и методами, используемыми при создании современных компиляторов, а также дать практические навыки написания простых компиляторов. В качестве целевой платформы для компиляторов в данном курсе используется Microsoft . NET. Подразумевается, что к моменту окончания данного курса большинство студентов смогут самостоятельно создать работающий компилятор с простого С#- подобного языка программирования. Теория создания компиляторов активно развивалась в течение последних 50-60 лет и к сегодняшнему дню в данной области накоплено огромное количество знаний. Поэтому практически невозможно подробно осветить все вопросы создания компиляторов в рамках университетского курса. В этом курсе авторы пытаются лишь преподать основные принципы создания компиляторов и познакомить студентов с некоторыми типичными распространенными приемами. Для дальнейшего совершенствования полученных навыков студенту необходима практика и самостоятельное изучение последних достижений в этой области. Курс состоит из двух частей - теоретической и практической. Теоретическая часть организована в виде презентаций и данного учебника, а практическая часть состоит из демонстраций и 4 Н. Н. Воя ков екая, А. Е. Москаль, Д. Ю. Булычев, А. А. Терехов Разработка компиляторов самостоятельных упражнений. Для полноценного понимания курса студенту потребуются базовые знания языка С# и платформы . NET в целом.