Интернет Университет информационных технологий Твой путь к знаниям
  Искать!
Курсы | Обучение | Школа | Магазин | Общение | Новости | Помощь

поддержка курса Разработка компиляторов
Авторы: Н.Н. Вояковская, А.Е. Москаль, Д.Ю. Булычев, А.А. Терехов

? Уровень: для специалистов || Статус: бесплатный || Опубликован: 23.07.2006
Рейтинг: 4.39 || Популярность: 4 || Студентов: 881/39


Поддержка
Microsoft Курс создан при финансовой поддержке компании
Microsoft

Microsoft Dreamspark
Бесплатные лицензионные версии программ для студентов и преподавателей.
Специальное предложение для студентов Интуит.ру. подробнее »

Внимание! Для получения индивидуальный кода Dreamspark студенту Интуит необходимо приступить к изучению одного из курсов по технологиям Microsoft

Рады сообщить, что теперь для студентов Интуит, зарегистрированных на учебные курсы по технологиям Microsoft, стала доступной программа DreamSpark.

  Инициатива DreamSpark предоставляет участникам программы бесплатный доступ к таким продуктам, как Visual Studio 2010 Professional, Windows Server 2008 R2 Standard, Windows Server 2008 Standard, Expression Studio 4 Ultimate, SQL Server 2008 R2 Developer, XNA Game Studio 4.0, Robotics Developer Studio 2008 R2 и многим другим.

  Предоставляемое ПО доступно исключительно в некоммерческих целях для обучения, проведения исследований, разработки и тестирования программного обеспечения в рамках выполнения учебных заданий и личных некоммерческих проектов.

  Также для участников программы DreamSpark открыта возможность бесплатно зарегистрироваться в Windows Marketplace для размещения своих приложений для Windows Phone 7. В этом случае делается исключение из ограничений, указанных выше, и допускается коммерческая разработка с использованием предоставляемых инструментов.

  Для регистрации в программе DreamSpark, перейдите на сайт проекта и залогиньтесь со своим LiveId и используйте индивидуальный код, который Вы сможете получить после того, как приступите к изучение одного из курсов по технологиям Microsoft.   Надеемся, что предоставленное программное обеспечение позволит вам лучше освоить выбранные учебные курсы по информационным технологиям.

Информация о курсе
В данном курсе рассматриваются теоретические основы и практические методы создания компиляторов языков программирования. Изложение ведется на основе языка программирования C# и платформы .NET.


Записаться на обучение
  Варианты обучения Цена Документы
  Самостоятельно Бесплатно сертификат
  ИДО "ИНТУИТ" 2000 руб. сертификат + официальное удостоверение о повышении квалификации
  ВШБИ НИУ ВШЭ 8000 руб. удостоверение о повышении квалификации государственного образца
 
Телефон: +7(499) 253-9312, факс: +7(499) 253-9310, e-mail: dpo@intuit.ru, ICQ: Intuit.Ru (632-332-736), Skype: Intuit.Ru
1.
В введении рассматриваются цели и задачи данного курса, его структура и рамки, а также говорится об необходимых предварительных знаниях, которые потребуются для полноценного понимания курса. В первой лекции обсуждаются следующие вопросы: общая идея архитектуры .NET; достоинства и недостатки .NET; схема трансляции программ в .NET; основные черты промежуточного представления, используемого в .NET (MSIL); безопасность в .NET; объектная модель .NET; понятие сборки, манифест сборки; модель безопасности в .NET; единая система типов данных.
2.
Основные идеи создания C#. Базовые конструкции языка. Препроцессор C#. Системные и пользовательские атрибуты. Опасный код в C#. Описание языка C-бемоль, являющегося подмножеством C#.
3.
Основные понятия. Компиляторы и интерпретаторы. Входной язык, целевой язык, язык реализации. T-диаграммы. Прямой компилятор. Раскрутка. Кросс-трансляторы. Виртуальные машины. Компиляция "на лету".
4.
Различные способы задания языков в компиляции: грамматики; конечные и магазинные автоматы. Соотношения между различными способами задания языков. Приложения в компиляции.
5.
Основные задачи лексического анализа. Регулярные выражения. Использование конечных автоматов для лексического анализа. Утилита Lex. Использование механизма регулярных выражений .NET
6.
Синтаксический анализ. Контекстно-свободные грамматики. Нисходящие анализаторы. Метод рекурсивного спуска.
7.
Восходящие анализаторы. LR (k)-анализаторы. Построение LR (0)-анализатора. LR (1)-анализатор. LALR-анализаторы. Неоднозначные грамматики. Различные типы конфликтов. Разрешение конфликтов.
8.
Генератор анализаторов YACC
9.
Фаза контроля типов. Идентификация. Работа с таблицами. Идентификация. Работа с типами. Причины использования промежуточных языков в компиляторах. Различные формы промежуточных языков (ПЯ) в компиляторах:атрибутные деревья разбора; прямая и обратная польские записи; триады/тетрады; RTL.
10.
Управление памятью с точки зрения разработчика компилятора. Проблемы управления памятью. Статическое и динамическое размещение памяти. Стековый механизм управления памятью. Управление кучей. Подсчет ссылок и разметка памяти. Управление памятью в .NET.
11.
Задачи оптимизации. Виды оптимизирующих преобразований. Представления программы, используемые в оптимизирующих преобразованиях. Примеры оптимизирующих преобразований.
12.
Задачи анализа потока управления. Граф потока управления. Доминирование. Глубинное остовное дерево. Основные виды фрагментов графа потока управления и их свойства.
13.
Определение анализа потоков данных. Достижимые определения и живые переменные. Формализация задач анализа потоков данных. Итеративный алгоритм для решения задач анализа потоков данных.
14.
Основные свойства MSIL. Пример генерации MSIL по программе на Cи-бемоль. Механизм рефлексии в .NET (на примере). Процесс генерации MSIL.
15.
Постановка задачи выбора оптимальных инструкций. Деревянные языки. Деревянные грамматики. BURS и ее приложения.
Дополнительные материалы
Конструкции и грамматика языка С \flat
 
 

Внимание! Если Вы увидите ошибку на нашем сайте, выделите её и нажмите Ctrl+Enter.
Нужна помощь?
• Забыли пароль? Вам сюда...
• Есть вопрос? Спрашивайте!
Вы можете:
• Изменить персональные данные
• Изменить параметры подписки
Интернет-магазин:
• Ваши заказы здесь
• Ваш личный счет
Курсы | Учебные программы | Учебники | Вопросы и Ответы | Форум | Новости | Помощь

Телефон: +7 (499) 253-9312, 253-9313, факс: +7 (499) 253-9310, email: info@intuit.ru
© INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование, 2003-2011
Проект Издательства "Открытые Системы".
Партнеры: РМ Телеком, KRAFTWAY COMPUTERS.
Rambler's Top100