Разработка компиляторов

       

Обзор платформы .NET


Платформа Microsoft .NET появилась относительно недавно, в 2000 году. Более того, на момент написания данного курса платформа все еще находилась в стадии бета-тестирования (при создании примеров авторы использовали вторую бета-версию Visual Studio.NET). Тем не менее, технологические преимущества платформы .NET в совокупности с активной маркетинговой поддержкой приводят к тому, что популярность .NET неуклонно растет. Выпуск платформы .NET наверняка коснется всех разработчиков программ для Windows. Поэтому чтение курсов, основанных на .NET, представляется чрезвычайно полезным для студентов: к моменту выпуска студентов из университета у них уже будут знания технологий, с которыми они, скорее всего, будут непосредственно работать.

Первые несколько лекций данного курса посвящены описанию собственно платформы .NET. Практически любой курс, посвященный созданию компиляторов, содержит подробное описание целевой платформы, для которой планируется генерация конечного кода. В большинстве случаев - это описание архитектуры и ассемблера целевого компьютера. Однако в нашем случае мы приводим описание виртуальной (т.е. несуществующей физически) машины, которая описывается спецификацией платформы .NET. С точки зрения преподавания разработки компиляторов это и хорошо, и плохо: с одной стороны, студенты на практике познакомятся с популярной сегодня идеей использования виртуальных машин, но с другой стороны, некоторые аспекты работы с конкретной машинной архитектурой остаются скрытыми, так как об этом заботится не разработчик компилятора, а авторы платформы .NET. Тем не менее, мы решили также осветить различные аспекты написания компиляторов, не являющиеся необходимыми при написании компиляторов, ориентированных на .NET, но необходимыми при написании компиляторов для других платформ, в целях создания у студентов более полного представления о различных вариантах создания компиляторов.



Содержание раздела