Данный курс посвящен принципам разработки компиляторов. Основные задача данного курса - познакомить студентов с базовыми идеями и методами, используемыми при создании современных компиляторов, а также дать практические навыки написания простых компиляторов. В качестве целевой платформы для компиляторов в данном курсе используется Microsoft .NET. Подразумевается, что к моменту окончания данного курса большинство студентов смогут самостоятельно создать работающий компилятор с простого С#-подобного языка программирования. Теория создания компиляторов активно развивалась в течение последних 50-60 лет и к сегодняшнему дню в данной области накоплено огромное количество знаний. Поэтому практически невозможно подробно осветить все вопросы создания компиляторов в рамках университетского курса. В этом курсе авторы пытаются лишь преподать основные принципы создания компиляторов и познакомить студентов с некоторыми типичными распространенными приемами. Для дальнейшего совершенствования полученных навыков студенту необходима практика и самостоятельное изучение последних достижений в этой области.
Содержание
Лекция 1. Введение и обзор платформы .NET ... 4 Лекция 2. Обзор языка С# ... 26 Лекция 3. Основы компиляторов ... 50 Лекция 4. Теория языков ... 71 Лекция 5. Лексический анализ ... 93 Лекция 6. Синтаксические анализаторы. Нисходящие анализаторы ... 154 Лекция 7. Восходящие анализаторы ... 171 Лекция 8. Грамматики и YACC ... 194 Лекция 9. Семантический анализ. Внутреннее представление ... 212 Лекция 10. Управление памятью и сборка мусора ... 231 Лекция 11. Оптимизация ... 254 Лекция 12. Анализ потока управления ... 276 Лекция 13. Анализ потоков данных ... 299 Лекция 14. Генерация MSIL ... 321 Лекция 15. Выбор инструкций при генерации кода ... 342 Лекция 16. Приложение. Описание языка С ... 372
Разместите ссылку на эту страницу в социальных сетях. Так о ней узнают тысячи человек:
Facebook
Twitter
Мой мир
Вконтакте
Одноклассники
Нашли ошибку? Сообщите администрации сайта: Выберите один из разделов меню и, если необходимо, напишите комментарий
За ложную информацию бан на месяц
Разместите, пожалуйста, ссылку на эту страницу на своём веб-сайте:
Код для вставки на сайт или в блог: Код для вставки в форум (BBCode): Прямая ссылка на эту публикацию:
Каждый, кто интересовался разработкой компиляторов, не мог не слышать о знаменитой "Книге Дракона", классическом труде Ахо и Ульмана "Принципы разработки компиляторов". Развитие технологий компиляции привело к рождению очередного "дракона" — книги "Компиляторы. Принципы, технологии, инструментарий", — у которой теперь уже четыре автора, и каждый из ...
Языки программирования и методы трансляции — В книге рассматриваются вопросы сравнительного анализа языков программирования и конструирование компиляторов. Первая часть книги содержит обзор языков высокого уровня и связанных с их эволюцией технологий структурного, модульного и объектно-ориентированного программирования.
Предлагаемая вниманию читателя книга основана на курсе лекций, прочитанных на факультете вычислительной математики и кибернетики МГУ им. М.В. Ломоносова и на факультете управления и прикладной математики Московского физико-технического института. Диапазон вопросов, затронутых в книге, достаточно широк — от свойств формальных языков и до техники тра ...
Введение в теорию алгоритмических языков и компиляторов — Учебник написан в соответствии с Федеральным государственным образовательным стандартом 3-го поколения. Приведен систематизированный курс освоения теории формальных языков и грамматик - как регулярных, так и контекстно-свободных.
Данный материал НЕ НАРУШАЕТ авторские права никаких физических или юридических лиц. Если это не так - свяжитесь с администрацией сайта. Материал будет немедленно удален. Электронная версия этой публикации предоставляется только в ознакомительных целях. Для дальнейшего её использования Вам необходимо будет приобрести бумажный (электронный, аудио) вариант у правообладателей.