
Грэм Гелденхейс (Graeme Geldenhuys), известный разработчик графического пользовательского интерфейса fpGUI, системы сборки PasBuild, системы тестирования FPTest и отладчика opdebugger, представил Blaise — новый компилятор для диалекта языка программирования Object Pascal.
Главной целью автора было создание языка, полностью свободного от накопившихся за десятилетия устаревших и зачастую дублирующих друг друга конструкций.
Основные особенности нового диалекта:
- Для всех динамически создаваемых объектов — строк, интерфейсов и экземпляров классов — применяется единая система автоматического управления памятью, основанная на подсчете ссылок.
- Полностью удален устаревший тип object, вместо него теперь используется универсальный record, для которого поддерживается полноценное определение методов.
- Устранены старые операторы ввода-вывода assign, reset, rewrite, blockread, а также классические типы file и text.
- Внедрен единственный унифицированный строковый тип, который заменяет громоздкие ShortString, AnsiString, WideString, OpenString и UnicodeString.
- Удален потенциально опасный оператор with, который на практике часто приводил к труднообнаруживаемым ошибкам в коде.
- Добавлено удобное определение переменных непосредственно в месте их использования.
Для эффективной генерации машинного кода в компиляторе используется бэкенд QBE (c9x.me), в то время как альтернативный генератор на базе LLVM в настоящее время находится на стадии активной разработки.
В ближайших планах создателей проекта числятся разработка специального LSP-сервера для интеграции в современные среды, официальная поддержка языка в редакторе Visual Studio Code, а также создание специализированного инструмента для автоматизированной миграции существующих проектов с Delphi и Free Pascal.
>>> Blaise Pascal Compiler
© Linux.org.ru





