Newer
Older
### Как использовать этот репозиторий
git clone --recurse-submodules <репозиторий>
Необходимы следующие NuGet пакеты:
* NUnit
* NUnit3TestAdapter
* NUnit.ConsoleRunner
### Как запустить тесты из репозитория
[Инструкция](https://github.com/czen/MMCS_CS311/wiki/Как-запустить-тесты-из-репозитория)
[См. страничку в Moodle](http://edu.mmcs.sfedu.ru/course/view.php?id=194)
[Программа курса 2014-15](http://it.mmcs.sfedu.ru/docs/Miks/MPC/ProgrMPC2014-15.pdf)
[Страница курса на Moodle](http://edu.mmcs.sfedu.ru/course/view.php?id=194)
### Авторы курса
* Лекции, практические задания - С.С. Михалкович
* дополнительные задания, подготовка и сопровождение материалов - А.П. Баглий
[Скан лекций](http://it.mmcs.sfedu.ru/files?func=fileinfo&id=1937) (2008/09 уч. год)
[Наброски к лекциям](Наброски_к_лекциям_"Методы_построения_компиляторов" "wikilink")
Тема 1. [Синтаксические диаграммы автоматных языков и реализация распознавателей на их основе](Синтаксические_диаграммы_автоматных_языков_и_реализация_распознавателей_на_их_основе "wikilink")
Тема 2. [ Создание ручного лексического анализатора простого языка программирования](Создание_лексического_анализатора_простого_языка_программирования "wikilink")
Тема 3. [Создание лексического анализатора с помощью программы GPLex](Создание_лексического_анализатора_с_помощью_программы_GPLex "wikilink")
Тема 4. [ Создание ручного синтаксического анализатора простого языка программирования](Создание_синтаксического_анализатора_простого_языка_программирования "wikilink")
Тема 5. [Создание синтаксического анализатора с помощью программы GPPG](Создание_синтаксического_анализатора_с_помощью_программы_GPPG "wikilink")
Тема 6. [Семантические действия при синтаксическом разборе. Построение синтаксического дерева программы](Семантические_действия_при_синтаксическом_разборе._Построение_синтаксического_дерева_программы "wikilink")
Тема 7. [Визиторы по синтаксическому дереву](Визиторы_по_синтаксическому_дереву "wikilink")
Тема 8. [Генерация и выполнение IL-кода](Генерация_и_выполнение_IL-кода "wikilink")
Дополнительные темы. [Индивидуальные задания](Индивидуальные_задания "wikilink")
Тема 1. [Конечные автоматы и реализация распознавателей на их основе](Конечные_автоматы_и_реализация_распознавателей_на_их_основе "wikilink")
Тема 6. [Создание парсеров на основе GPLEX+GPPG](Создание_парсеров_на_основе_GPLEX+GPPG "wikilink")
Тема 7. [Семантические действия в синтаксическом анализаторе. Построение дерева программы](Семантические_действия_в_синтаксическом_анализаторе._Построение_дерева_программы "wikilink")
[Устаревшие вспомогательные материалы к теме Yacc-файл и его формат](Занятие_4_по_курсу_МПК "wikilink")
[Устаревшие задания](http://pascalabc.net/wiki/index.php/GPLex_%2B_GPPG)
[ Индивидуальное задание 3 на зачет 2011 г.](Задания_на_зачет_2011 "wikilink")
1. создав ручной компилятор с нисходящим разбором
2. создав компилятор с использованием GPLex+GPPG
------------------------------------------------------------------------
#### Дополнительная информация
[Рекомендуемая литература](http://it.mmcs.sfedu.ru/wiki/Рекомендуемая_литература#.D0.9C.D0.B5.D1.82.D0.BE.D0.B4.D1.8B_.D0.BF.D0.BE.D1.81.D1.82.D1.80.D0.BE.D0.B5.D0.BD.D0.B8.D1.8F_.D0.BA.D0.BE.D0.BC.D0.BF.D0.B8.D0.BB.D1.8F.D1.82.D0.BE.D1.80.D0.BE.D0.B2)
#### Литература
1. А.Ахо, М.Лам, Р.Сети, Д.Ульман. Компиляторы. Принципы, технологии, инструменты. М, Вильямс, 2008
2. С.З.Свердлов. Языки программирования и методы трансляции. Питер, 2007
3. Э.А.Опалева, В.П.Самойленко. Языки программирования и методы трансляции. BHV, 2005
4. Ю.Г.Карпов. Основы построения трансляторов. BHV, 2005
5. [В.А.Серебряков, М.П.Галочкин «Основы конструирования компиляторов»](http://citforum.ru/programming/theory/serebryakov/)
6. [Книга “Языки и трансляции” Б. К. Мартыненко](http://www.math.spbu.ru/user/mbk/ЯЗЫКИ_И_ТРАНСЛЯЦИИ(изд.2)/Reference.htm)