Где именно проходит граница между препроцессором и компилятором?

Согласно различным источникам (например, радиоэпизод SE с Кевлином Хенни , если я правильно помню), «C с классами» был реализован с помощью технологии препроцессора (вывод затем передавался компилятору C), тогда как C ++ всегда реализовывался с помощью компилятор (который как раз случайно выплюнул C в первые дни). Это, кажется, вызывает некоторую путаницу, поэтому мне было интересно:

Где именно граница между препроцессором и компилятором? Когда вы называете программу, реализующую язык, «препроцессором», а когда - «компилятором»?

Между прочим, является ли «компилируемый язык» устоявшимся термином? Если да, то что именно это означает?

8
задан fredoverflow 25 August 2011 в 08:01
поделиться