Данный курс посвящен принципам разработки
Данный курс посвящен принципам разработки компиляторов. Основные задача данного курса - познакомить студентов с базовыми идеями и методами, используемыми при создании современных компиляторов, а также дать практические навыки написания простых компиляторов. В качестве целевой платформы для компиляторов в данном курсе используется Microsoft .NET. Подразумевается, что к моменту окончания данного курса большинство студентов смогут самостоятельно создать работающий компилятор с простого C#-подобного языка программирования.
Теория создания компиляторов активно развивалась в течение последних 50-60 лет и к сегодняшнему дню в данной области накоплено огромное количество знаний. Поэтому практически невозможно подробно осветить все вопросы создания компиляторов в рамках университетского курса. В этом курсе авторы пытаются лишь преподать основные принципы создания компиляторов и познакомить студентов с некоторыми типичными распространенными приемами. Для дальнейшего совершенствования полученных навыков студенту необходима практика и самостоятельное изучение последних достижений в этой области.
Курс состоит из двух частей - теоретической и практической. Теоретическая часть организована в виде презентаций и данного учебника, а практическая часть состоит из демонстраций и самостоятельных упражнений.
Для полноценного понимания курса студенту потребуются базовые знания языка C# и платформы .NET в целом. Но так как эти знания еще нельзя считать повсеместно распространенными, курс содержит краткое введение в .NET, которое поможет студентам получить представление об этих технологиях, а также оценить свои знания платформы .NET.
Содержание раздела