Архив‎ > ‎

Группа 244 (МО 2008), весенний семестр 2010

Задача

Целью семестра является совместная разработка примитивного высокоуровневого (на выходе АЯВУ) компилятора.

Разработка производится на C# .NET v 2.
После обзорных занятий студенты самостоятельно выбирают себе модули для разработки.

Литература

  • Джеффри Рихтер, CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#. ISBN: 978-5-91180-303-2, 5-7502-0285-2.
  • Альфред В. Ахо, Моника С. Лам, Рави Сети, Джеффри Д. Ульман, Компиляторы: принципы, технологии и инструментарий. ISBN 978-5-8459-1349-4, 0-321-48681-1.

Инструменты

От Microsoft

  • Microsoft .NET framework v 2.x (содержится в Windows ≥ XP)
  • Visual Studio 2008 (при наличии лицензии)
  • Visual Studio C# Express 2008

Независимые

(не зависимые от Novell =) ), работают, по крайней мере, под Windows, Linux, OS X.

Версионного контроля

Репозиторий проекта

Доступен по ссылке. Необходимо:
  1. Проигнорировать и принять постоянно не подписанный сертификат SSL/TLS.
  2. Ввести имя пользователя (если предложенное не совпадает, один раз предложить пустой пароль, а потом уже правильное имя пользователя) и пароль - как в учётной записи Windows на ММ.

Правила

  1. Проект должен успешно собираться. Если не уверены, что всё хорошо положили в репозиторий, сделайте checkout в пустой каталог и попробуйте построить проект.
  2. Не должны выдаваться предупреждения при сборке. Но если уж никак от них не избавиться, то в коде должен быть комментарий, что данная конструкция вызывает предупреждение, но оставлена потому-то.
  3. Свои реализации надо добавлять в каталог https://adm2.math.spbu.ru/svn/08/grp244/sem-II/sacod-practice/Lang7.cs/Lang7Compiler/Impl и наследовать от абстрактных классов из https://adm2.math.spbu.ru/svn/08/grp244/sem-II/sacod-practice/Lang7.cs/Lang7Compiler/Abstracts.
    • ссылки в solution на свой проект добавлять для тестирования, но commit SyntAna.sln делать только когда допишете, чтобы не портить его работоспособность.

Прогресс

На данный момент зачёт имеют:
 Кто Заслужил(а)
 В зачётке
 В ведомости
 Бабушкин Иван
+25.05.2010 +
 Вяткин Андрей+27.05.2010 +
 Гершун Дмитрий+25.05.2010
 +
 Голубев Александр
+
31.05.2010
 +
 Гусев Даниил+  +
 Дзендзик Дарья+25.05.2010 +
 Кретов Алексей+27.05.2010
 +
    
    

Приложения

  • lex_pars.py — примитивный нисходящий анализатор для инфиксных выражений с право- и леворекурсивными операциями, служащий для демонстрации того, что это не страшно
ċ
lex_pars.py
(2k)
Dmitry Luciv,
23 мар. 2010 г., 2:58
Comments