Раньше они были очень давно, хотя это было типично только для компиляторов Си.Первый, который я использовал, работал таким образом, давным-давно.Не редкость для тех, кто генерировал код для необычного оборудования и операционных систем, они сэкономили на написании генератора объектных файлов и использовали существующие компоновщики.
Современные компиляторы не беспокоятся о дополнительном этапе генерации машинного кода, так кактекст и после запуска ассемблера, они генерируют машинный код непосредственно в двоичном виде.Преимущество в скорости компиляции довольно значительное, текст не дешевый.Возможность сгенерировать его в текстовом виде из двоичного файла довольно просто реализовать.