Блок задач

5. Проекты

Темы
Сложность 7

Проект «CPP (C препроцессор)»

Реализовать CPP (C препроцессор):

  • вход -- набор файлов или stdin, выход операнд ключа "-o" или stdout
  • комментарии
  • #include (без разделения на системные/пользовательские)
  • #define и макроподстановки (рекурсивные, с параметрами и без)
  • #ifdef/#ifndef
  • #if с целой константой как результат макроподстановок (выражения не обязательно, но приветствуются)
  • операторы # и ##