Известно, что особого искусства в написании компиляторов нет. Во всем мире их пишут по классическому учебнику Гриса (вышедшему когда-то и на русском язык в издательстве “Мир”). Но дело это тем не менее трудоемкое и хлопотное. Новые процессоры, а в мире их ежегодно разрабатывается не меньше сотни, могут иметь разрядность от 4 до 256 бит, различную архитектуру (DSP, RISC, VLIW и др.) и прочие особенности. Однако есть фирмы, готовые существенно облегчить жизнь программистов. Небольшая, численностью всего 30 человек, нидерландская компания ACE Group (www.ace.nl) поставляет систему разработки компиляторов CoSY. Этой системой пользуются, например, Intel, Metroworks, NEC, Hitachi, Ericsson, Philips Semiconductors.
Система позволяет создавать и оптимизировать созданный компилятор, имеет генератор кодогенераторов, специальную поддержку для DSP.
Интересно, что на разработку CoSY затрачено 20 млн. долл. и 150 человеко-лет.
Подобные инструменты есть и в других областях разработки системного ПО. Фирма KRF Tech (www.krftech.com) предлагает для написания драйверов воспользоваться ее системой WinDriwer. Разработка состоит из четырех этапов:
1) выбрать устройство из списка тех, что обнаружит WinDriwer подключенными к компьютеру;
2) определить ресурсы: границы памяти, регистры, прерывания. Если устройство подсоединено к шине PCI, то WinDriwer сделает все автоматически;
3) прочитать и записать в эти ресурсы тестовые значения, проверив, что аппаратура отвечает, как ожидается;
4) сгенерировать скелет драйвера. В местах, где вы должны дописать специальный код, будут вставлены соответствующие комментарии.
Гарантируется, что полученный код будет совместим с MS Developer Studio и Win32-компиляторами. Оценочную копию можно скачать с сайта фирмы.