An open API service indexing awesome lists of open source software.

https://github.com/aalexuser/compiler-development

Лабораторные работы по разработке компиляторов (ИТМО, ПИиКТ-СППО, 3 курс)
https://github.com/aalexuser/compiler-development

Last synced: 21 days ago
JSON representation

Лабораторные работы по разработке компиляторов (ИТМО, ПИиКТ-СППО, 3 курс)

Awesome Lists containing this project

README

          

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

Целью освоения дисциплины является получение базовых знаний в области теоретических основ проектирования компиляторов, а также овладение навыками практического применения программных средств, обеспечивающих реализацию: лексического и синтаксического анализаторов. В курсе рассматриваются основные методы синтаксического анализа, способы построения абстрактных синтаксических деревьев для исходных программ, и генерация промежуточного представления программ на базе таких деревьев. Рассматриваются вопросы низкоуровнвой генерации кода, вопросы связывания и семантического анализа.

### Разделы

1. Теория формальных языков. Распознаватели для формальных языков.

1.1. Понятие порождающей грамматики. Классификация грамматик и формальных языков.

1.2. Распознаватели для регулярных языков. Конечные автоматы.

1.3. Распознаватели для контекстно-свободных языков. МП автоматы.

2. Конструирование лексических анализаторов

2.1. Фаза лексического анализа. Понятие лексем.

2.2. Конструирование лексического анализатора с применением Flex.

3. Конструирование синтаксических анализаторов

3.1. Фаза синтаксического анализа. Неоднозначность контекстно-свободных грамматик.

3.2. Нисходящие и восходящие синтаксические анализаторы. LL(1) и LR(1) анализаторы.

3.3. Конструирование синтаксических анализаторов с применением Bison.

4. Семантический анализ и генерация кодакода.

4.1. Конструирование абстрактного синтаксического дерева. Вычисление семантических атрибутов.

4.2. Промежуточное представление программы. Трехадресный код.

4.3. Генерация машинного кода. Понятие оптимизации.

---

### Helpful materials

- [Chomsky Classification of Grammars - TutorialsPoint](https://www.tutorialspoint.com/automata_theory/chomsky_classification_of_grammars.htm)

- [Compiler Design - Youtube Playlist](https://www.youtube.com/playlist?list=PL6xbXi2C3seOXoXK5nL92Frnk_gOT-_2b)