Концепция препроцессора
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 05.09.17 03:57
Оценка:
Кто хорошо знаком с историей C — подскажите, из каких соображений фаза препроцессирования была принципиально отделена от фаз компиляции, с постулированием, по сути, полного отсутствия связей между ними?

Соображениями простоты это объяснить не получается — препроцессор C крайне примитивен, ресурсов для реализации требует мизерных (в сравнении с ресурсами для последующей компиляции).

В то же время, будь там вместо препроцессора нормальный макрогенератор, частично связанный с собственно компилятором (например, по типам выражений/идентификаторов) — можно было бы еще в 70-е малой кровью делать ряд удобных вещей.

С ностальгией вспоминаю макрогенератор ассемблера System/360, воспроизведенный затем в трансляторе автокода БЕМШ для БЭСМ-6.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.