Skip to content

koyre/b8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

b8

b8 compiler from MMCS SFedU

Credits:

  1. Aliev M.
  2. Avakyan G.
  3. Bulanov D.
  4. Ermolaev D.
  5. Ermolinsky A.
  6. Fateev S.
  7. Koval N.
  8. Kubesh. E.
  9. Limarev V.
  10. Nezhevsky N.
  11. Ostapenko A.
  12. Paterikin A.
  13. Raskin A.
  14. Rogov D.
  15. Silnyagin Y.
  16. Cherkasov V.
Team Dev1 Dev2
RR Rogov D. Raskin A.
AN Avakyan G. Nezhevsky N.
LK Kubesh. E. Koval N.
FB Fateev S. Bulanov D.
PC Paterikin A. Cherkasov V.
OE Ostapenko A. Ermolaev D.
AE Aliev M. Ermolinsky A.

Оценивание вклада

Анкета

Scientific Advisor: Mikhalkovich S.

Tasks:

RR Rogov D. Raskin A.

  • Парсер v2
  • Передаточная функция для реализации распространения констант

Nezhevsky N.

  • Генерация трехадресного кода
  • Для каждого обратного ребра найти естественный цикл
  • Установить, все ли отступающие ребра обратные

Koval N. Kubesh. E.

  • Доступные выражения между базовыми блоками - множества e_gen(b) и e_kill(b)
  • Доступные выражения внутри ББЛ(+оптимизации)
  • Доступные выражения, итерационный алгоритм*
  • Нисходящая часть алгоритма анализа на основе областей

Fateev S.

  • Разработка класса "область" с разновидностями "область тела" и "область цикла"
  • Формирование поседовательности областей R1,...,Rn в восходящем порядке

PC Paterikin A. Cherkasov V.

  • Создание CFG из базовых блоков
  • Поддержка goto и меток
  • Достигающие определения: вычисление gen_B и kill_B
  • Итерационный алгоритм для достигающих определений
  • Дерево доминаторов

Ermolaev D.

  • Построить на CFG глубинное остовное дерево, перенумеровав элементы в порядке обратном посфиксному
  • Переписание CFG с использованием высокоуровневой библиотеки QuickGraph
  • Классификация ребер графа: наступающие, отступающие, поперечные
  • Восходящая часть алгоритма анализа на основе областей

AE Aliev M.

  • Активные переменные внутри ББЛ
  • Живые переменные между ББЛ, множества use_B и def_B
  • Живые переменные - итерационный алгоритм
  • Разработка класса для хранения f_r,IN[s] и f_r,OUT[B]

  • Модифицированный (ускоренный) алгоритм с правильной нумерацией базовых блоков
  • 3 примера программ, дающих неправильные графы, найти отступающие ребра, не явл. обратными.
  • оптимизация общего итерационного алгоритма обхода

About

b8 compiler from MMCS SFedU

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published