
Ну, для Atmel они вроде как есть (а точнее - это тот же GCC)... А для всего остального... Это конечно, хороший вопрос...

Ручками, товарисчи, ручками...

Вы,
Незванный гость, кажись ковыряли GCC? Я туда пока не лазил, но я вечно сую нос куда не след..

Мне интересно как он построен. Я где-то читал про такую модель компилятора:
-сначала из некоторого языка (Си, Си++, Паскаль, и т.п.) программа преобразуется в некий байт-код, "внутренний" код компилятора.
-потом это все преобразуется в язык ассемблера конкретной аппаратной платформы
-потом, после оптимизации программы на ассемблере она уже переводится в машинные коды.
Таким образом, на первый взгляд верхний уровень может быть для всех платформ общим (или с небольшми изменениями), нижний уровень поставляется производителем железки, в которую мы хотим эту программу запульнуть, остается средний. Не так уж много, причем этот "средний" уровень можно взять из аналогичной реализации компилятора другого языка для этой железки. К примеру, у нас уже есть для нашей микрухи GNU C , и GNAT (но последний уже не для нашей микрухи). Вот, если б семейство компиляторов GCC построено примерно как я описал, новый компилер сварганить задача в принципе, решабельная... ИМХО, конечно (поскольку я многого не знаю и реальность скорей всего не так радужна)