Ivan Kuvshinov
2006-05-19 19:39:10 UTC
vot
24/10/2003Выпущена новая, ПЯТАЯ, версия компилятора TMT Pascal Multi-Target.
Что нового в TMT Pascal Multi-Target v5.00
Прошло более года с тех пор, как разработка компилятора TMT Pascal перешла в
новые руки. В то время компилятор находился в своей критической стадии.
Будущее компилятора TMT Pascal оказалось под вопросом, а его дальнейшее
развитие практически приостановилось в связи с имевшимися ограничениями
внутренней архитектуры и используемой технологии. Перспективный поект TMT .NET
был практически заморожен, а возможности основного компилятора не
соответствовали ни стандартам современного рынка программ для Windows и DOS,
ни ожиданиям самих пользователей компилятора.
Ранее разработка компилятора TMT Pascal велась без соответствующей проектной
документации. Сам компилятор разрабатывался с помощью доморощенного
скрипт-интерпретатора, создававшего недостаточно оптимальный код, и
написанного с использованием устаревшего компилятора Watcom C, что не
позволяло использовать в программах такие современные особенности, как
поддержка длинных имен файлов в DOS-программах, запускаемых под Windows, а
также затрудняло возможности расширения встроенных типов данных. Кроме того,
код компилятора практически не содержал никаких комментариев...
Среда разработки TMT IDE была написана в Delphi с использованием внешних
Windows-библиотек, и поэтому ей были присущи все типичные для Windows
ограничения, проблемы и сбои. Это существенно ограничивало функциональность и
расширяемость IDE, например, не позволяло добавить функции управления проектом
или расширить возможности встроенного отладчика.
Многие приводимые в качестве примеров программы работали либо частично, либо
вообще не работали...
Встроенная система помощи TMT была построена с использованием малоэффективной
и устаревшей системы MS Help. Кроме того, страницы помощи изобиловали
бесполезными ссылками на неполное описание ядра Win API для языка C++, которые
были абсолютно бесполезны для pascal-разработчиков, и справедливо
расценивались ими как предложение отправиться в пешее эротическое
путешествие...
Таким образом, новая команда разработчиков оказалась перед необходимостью
выбора - стоит ли вкладывать средства в дальнейшее развитие компилятора, или
проще просто закрывать проект...
Учитывая, что в среде разработчиков программного обеспечения до сих пор
ощущается потребность в быстром компиляторе, независимом от платформы Windows,
но в то же время способном работать под Windows, мы решили сделать серьезный
шаг и переработать компилятор TMT Pascal от начала до конца.
За прошедшие полтора года мы полностью портировали исходный код компилятора с
оригинального скриптового языка на стандартный кросс-платформенный C++ код.
Благодаря этому мы получили возможность использовать в своей работе
мульти-платформенные средства разработки (в частности компилятор GNU C++) а
также возможность создания новой версии компилятора TMT Pascal, не только
независимой от Windows, но и пригодной для других платформ, в частности для
*BSD и Linux.
Мы расширили возможности и совместимость создаваемых 32-битных приложений для
работы в среде Windows 2000 и Windows XP. Поставляемые с TMT Run Time
библиотеки теперь поддерживают длинные имена файлов для всех встроенных
файловых функций для платформы DOS. Архитектура и исходный код компилятора
теперь позволяют легко добавлять усовершенствования и расширения, такие как
обновление оболочки, переход на 64-битный код и компиляция для платформ Linux
и BSD ELF32.
Поскольку компания IBM прекратила поддержку операционной системы OS/2, мы
решили удалить из версии 5.0 поддержку компиляции для платформы OS/2.
В версии 5 компилятора TMT Pascal сделаны следующие дополнения и исправления:
- Поддержка длинных имен файлов в среде Windows 98 с использованием
стандартных прерываний ядра Windows
- Полноценная нативная поддержка длинных имен файлов в DOS-приложениях для
систем Windows 2000 и Windows XP
- Hовая объектно-ориентированная графическая библиотека
- Библиотеки для работы со звуками и речью как для Windows, так и DOS
- Оболочка для интерактивной компиляции с помощью командной строки (в
разработке)
- Улучшенная система помощи с возможностью использования командной строки
- Формирование кода в виде ASM-листинга с адресной информацией
- Возможность запуска скомпилированных TMT 5 программ на самых быстрых
современных процессорах за счет удаления ограничений, существовавщих в TMT 4
(ZEN Timer)
- Исключена ранее существовавшая проблема разрушения памяти во внутренних
структурах компилятора
КИА