Компилятор gcc C написан на самом C?



компилятор gcc C написан на самом C ? Или это написано в сборке ? Если компилятор написан на C, то какой компилятор используется для компиляции кода компилятор ?

536   3  

3 ответов:

конкретная история для gcc дается в GCC Wiki. Более общий момент заключается в том, что компиляторы обычно изначально компилируются с каким-либо другим компилятором, пока они не будут достаточно мощными, чтобы скомпилировать себя. Кроме того, можно написать базовый компилятор, который может обрабатывать подмножество функций на ассемблере, и построить оттуда. Но опять же, это почти никогда не требуется. Есть много компиляторов, доступных на различных языках. Даже когда Стивен Джонсон писал pcc (один из первых компиляторов C), были доступны компиляторы для B, а также многие другие языки. у gcc было несколько компиляторов, чтобы выбрать из них, чтобы построить его изначально, и RMS говорит, что он использовал компилятор пастели, по крайней мере, во время его первоначальной разработки.

помните, что нет требования, чтобы компилятор C был написан на C. Вы могли бы написать его на Perl, если бы захотели. Нет требования, чтобы компилятор для данной платформы был первоначально написан на этой платформе (встроенные системы почти всегда компилируются на какой-то другой системе). Так что есть много способов, чтобы получить себе бутстрэппинг.

этот вопрос имеет некоторые интересные тонкости, связанные с первым экземпляром начальной загрузки компилятора. Если бы Вы были очень умны, вы могли бы использовать этот бутстрэп, чтобы сделать что-то невероятное, гениальное и страшное.

первоначально он был написан на каком-то ассемблере, затем он начал сам собачий корм.

хотя это, очевидно, просто очень грубый индикатор, я нашел это быстро список на

Comments

    Ничего не найдено.