Проекты, выполнение которых достаточно для получения оценки "отлично" на экзамене

Задачи на модификацию проекта "Простой компилятор" (SimpComp.tgz)

  1. Добавить стандартные функции (Гуляев Олег).
  2. Загрузка промежуточного кода из файла и исполнение его интерпретатором (Рябинин Андрей).
  3. Добавить в язык функции и их вызов, а также глобальные переменные (Давиденко Иван).
  4. Добавить в язык структуры (Бобух Антон).
  5. Добавить в язык цикл "for", инициализацию переменных при их описании, операции увеличения и уменьшения, операции +=, -=, *=, /= и стандартные функции (Кондрашов Кирилл).
  6. Добавить в язык метки, оператор goto и оператор switch.

Другие задачи

Во всех задачах требуется реализовать программу (на C++ или C#), которая читает исходные данные (например, запись контекстно-свободной грамматики) из входного файла и записывает результат в выходной файл.

  1. Построить систему состояний LR(0)-разбора для заданной контекстно-свободной грамматики (Костиков Андрей).
  2. Преобразовать контекстно-свободную грамматику к нормальной форме Хомского (Павлов Никита).
  3. Построить КС-грамматику для пересечения КС-языка и автоматного языка (входными данными являются файл с записью грамматики и файл с записью конечного автомата) (Ветров Василий).
  4. Преобразовать КС-грамматику для устранения левой рекурсии (Репин Павел).