Служба спасения студентов
Служба спасения для студентов (18+)

Использование и реализация инструментов метапрограммирования в компилируемых языках

Стоимость
750 руб.
Содержание
Теория
Объем
30 лист.
Год написания

Описание работы

Работа пользователя Beskonechno
Добрый день! Уважаемые студенты, Вашему вниманию представляется курсовая работа на тему: «Использование и реализация инструментов метапрограммирования в компилируемых языках»
Оригинальность работы 95%

Оглавление
Оглавление. 2
Введение. 3
Метапрограммирование с современных языках. 4
Цель работы.. 6
Постановка задачи. 7
Компилятор Grit 9
Выбор инструментов. 9
Архитектура компилятора. 12
Токенизация. 13
Построение AST.. 15
Кодогенерация. 19
Язык Grit 22
Результаты.. 27
Заключение. 29
Список литературы.. 31

Введение
История языков программирования может быть описана диалектически, как борьба желания иметь больше слоев абстракции с требованиями к производительности. Влияние первого фактора можно проследить в развитии высокоуровневых языков программирования, на чем я хотел бы остановиться подробнее.
В «реальном мире» многие довольно сложные абстракции получили крайне широкое распространение — абстракция интерфейсов баз данных, управление потоками, абстракции памяти (разделяемая память, каналы и пр.). Одни из основных причин почему разработчиков так привлекают абстракции, это желание как можно меньше работать с низкоуровневыми деталями, всеми любимый принцип избегания дублирования кода, а также потребность выражать сложные концепции легко читаемым способом.
Все эти цели могут быть достигнуты, в частности, с помощью метапрограммирования. Идеи метапрограммирования на практике, вероятно, впервые стали использоваться в языке Lisp, в виде макросов. Весьма популярный ранее, сейчас Lisp не представлен в индустрии сколь-либо значительно.

Список литературы
Компиляторы: принципы, технологии и инструментарий — 2 изд. [Книга] / авт. Ахо Альфред В. [и др.]. - 2008 : Вильямс.
Введение В Метапрограммирование [В Интернете] / авт. Бартлетт Д. // Ibm.com. - 2005 г.. - https://www.ibm.com/developerworks/ru/library/l-metaprog1/index.html.
Lambda Lifting: Transforming Programs to Recursive Equations [Книга] / авт. Джонсон Томас. - [б.м.] : ACM Press, 1985.
Modular Domain Specific Languages and Tools [Книга] / авт. Худак Пол. - New Haven : IEEE Computer Society Press, Department of Computer Science, Yale University, 1998.
The Architecture of Open Source Applications [Книга] / авт. Браун Эми и Уилсон Грег. - Dallas, TX : lulu, 2012.



 

Сколько стоит помощь с учебной работой?