Содержание
- 2. Содержание Задачи проекта. Компилятор Zonnon для .NET. Технология: пакет CCI. Интеграция в VS. Скриншоты и/или демонстрация.
- 3. Задачи проекта Реализовать базовую версию компилятора для платформы Microsoft .NET: - подмножество входного языка; - генерация
- 4. Компилятор Zonnon Реализован для платформы .NET Генерирует стандартную сборку (Assembly) Реализован с использованием пакета CCI Интегрирован
- 5. Компиляторы для .NET: возможные подходы Непосредственная («ручная») компиляция в MSIL/Metadata (нет примеров) или в язык ассемблера
- 6. Модель компиляции Zonnon (1) 6
- 7. Модель компиляции Zonnon (2) IR (AST) Zonnon AST CCI’s AST Scanner & Parser Visitors Проекции Реализуется
- 8. Проекции Zonnon -> .NET ◆ DEFINITION абстрактный интерфейс; interface ◆ IMPLEMENTATION реализация интерфейса по умолчанию; единица
- 9. DEFINITION D; TYPE e = (a, b); VAR x: T; PROCEDURE f (t:T); PROCEDURE g ():T;
- 10. C# Проекции Zonnon->.NET: Objects Zonnon OBJECT X IMPLEMENTS D; IMPORT D; VAR y : T; PROCEDURE
- 11. C# Проекции Zonnon->.NET: Active Objects Zonnon 11
- 12. CCI: Основа Zonnon-компилятора CCI = Common Compiler Infrastructure. CCI – набор ресурсов (классов), предоставля-ющих поддержку реализации
- 13. CCI: сценарии использования Интеграция в VS.NET существующих (“не-CCI”) компиляторов. Интеграция в VS.NET компиляторов, полностью реализованных на
- 14. CCI: Три проблемы (Общая) Разработка компилятора – непростая задача; интеграция компилятора в среду программирования – целый
- 15. Общие принципы использования CCI ◆ Все сервисы CCI представлены в виде классов. Чтобы воспользоваться этими сервисами,
- 16. Компоненты CCI Intermediate Representation (IR) – Развитая иерархия C#-классов, представляющих наиболее общие и типичные понятия современных
- 17. IR: промежуточное представление (1) Node Node Expression Member UnaryExpression TypeNode BinaryExpression Class NaryExpression DelegateNode MethodCall EnumNode
- 18. IR: промежуточное представление (2) Характеристики IR: ◆ Весьма прямолинейный подход. ◆ IR почти полностью повторяет иерархию
- 19. IR: промежуточное представление (3) public class C { public int m1; public void f ( )
- 20. Система трансформаций IR в CCI …готовя дерево к сериализации (генерации IL+MD). …разрешая случаи совместного использования (overloading)
- 21. Организация синтаксического анализа using System.Compiler; namespace ZLanguageCompiler { public sealed class ZParser : System.Compiler.Parser { public
- 22. Работа с IR: расширение Visitor’ов using System.Compiler; namespace ZLanguageCompiler { public sealed class ZLooker : System.Compiler.Looker
- 23. Обработка IR: Активация Visitor’ов public class ZCompiler : System.Compiler.Compiler, ... { . . . protected override
- 24. Архитектура компилятора: традиционный подход Compiler Start Up Compiler End Up Компилятор Лексич. анализ Синт. & семантич.
- 25. Что подразумевается под интеграцией? Компоненты среды Visual Studio Менеджер проектов Текстовый редактор Семантическая поддержка (“Intellisense”) Отладчик
- 26. Что подразумевается под интеграцией? Пример “Intellisense” 26
- 27. Архитектура CCI-компилятора (1) Лексич. анализ Синт. & семантич. анализ Генера-ция кода Компилятор Окружение Document Исходный текст
- 28. Архитектура CCI-компилятора (2) Лексич. анализ Синт. & семантич. анализ Генера-ция кода Окружение Document Исходный текст Контекст
- 29. Архитектура CCI-компилятора (3) Лексический анализ Синтаксический & семантический анализ Получить лексему Получить лексему с доп. атрибутами
- 30. CCI: текущее состояние и статус Реализован почти полностью (неполная поддержка процесса отладки); не отлажен; не документирован.
- 31. Интеграция Zonnon-компилятора в VS (1) (Вместо демонстрации ☺) 31
- 32. Интеграция Zonnon-компилятора в VS (2) (Вместо демонстрации ☺) 32
- 33. Интеграция Zonnon-компилятора в VS (3) (Вместо демонстрации ☺) 33
- 35. Скачать презентацию
































Определение безэквивалентной лексики
Позициониране на Схемата за екомаркировка в държавната политика за устойчив туризъм ДЪРЖАВНА АГЕНЦИЯ ПО ТУРИЗЪМ Десислава Михалкова – Станимирова Гл. експерт в дирекция “Туристическа политика” 20 октомври, 2008 г, гр. София
Презентация на тему Просто сказочные вопросы
Я Гражданин России
Же-Ким
Корпоративный мессенджер для брейнштормов
Олимпийские игры: символика ,история, география
Чичиков – беда или надежда России? Образ Чичикова в поэме Николая Васильевича Гоголя «Мёртвые души»
Событийные мероприятия
Трение в нашей жизни
О повышении эффективности и безопасного использования отраслевого парка исследовательских ядерных установок
Всероссийский инженерный конкурс. Лесопосадочные машины
Презентация на тему Значение птиц в природе и жизни человека
Презентация на тему Экстремумы функции
Джинсы
Презентация к методической разработке для спецкурса: «Обратные тригонометрические функции» (10-11 кл.).
Хороших знаний и отличного настроения!
Поддержка стандарта OpenGIS в СУБД ЛИНТЕР
Презентация на тему Транспорт
Три вида бизнеса, востребованные в г. Кострома
Обработка юбки после первой примерки
Конкурс среди социально ориентированных некоммерческих организаций на право получения субсидий из бюджета города Екатеринбурга
Fun Activities (Развлечения)
Мониторинг направлений актуального профессионального развития научно-педагогических, руководящих кадров, сотрудников ПетрГУ
КУБА – УКРАЙНА 1990 – 2011
Презентация на тему Дифракция света
Родители трудолюбивы и дети не ленивы
Ліпікар. Очищувальний гель