Программы и Дизайн » Веб-разработка и Программирование » Среды программирования, компиляторы и вспомогательные программы
PowerBasic 8.03Год выпуска: 2006
Версия: 8.03.0040
Разработчик:
PowerBASIC, IncПлатформа: Windows'9x/2000/XP/Vista
Совместимость с Vista: да
Язык интерфейса: только английский
Таблэтка: Не требуется
Описание: Компилятор PowerBasic.
В отличие от VB, PB является полноценным компилятором, интерпретирующая часть в нём ничтожна. Создаваемые компилятором приложения являются полностью 32-битными и поддерживает только 32-битные платформы(Windows'9x/2000/XP/Vista). Сам компилятор представлен в виде приложения для Windows. Это связано с тем, что компилятор написан на языке ассемблера, возможности которого в защищённом режиме процессора сильно ограничены. Разработчики PB на полную мощь использовали возможности языка ассемблера, что допустимо только в реальном режиме. Согласно принципам обратной совместимости компилятор может быть запущен в любой версии операционной системы MS Windows начиная с версии 3.1 и вплоть до последних версий. Возможность запуска компилятора на ранних платформах можно отнести к его преимуществам.
Доп. информация: Компилятор PB является однопроходным оптимизирующим. Что это такое?
Прежде всего определимся как устроен компилятор.
Как известно, процесс компиляции разбивается на несколько этапов: лексический, синтаксический (грамматический) и семантический (смысловой) анализ, генерация промежуточного и объектного (машинного) кода.
Лексический анализатор (ЛА) преобразует поток байт (текст исходного кода) в минимально допустимые элементы языка: ключевые слова (терминалы), имена переменных и процедур (идентификаторы), строчные и числовые константы (литералы). Результатом работы ЛА является поток этих элементов (лексем).
Синтаксический анализатор проверяет соответствие вложенной в него грамматики с грамматикой исходного кода, при этом разбивая выражения (например, A=1+2*(3-4)) на простейшие операции.
Завершает анализ Семантический анализатор, который производит смысловой анализ. Например, была ли объявлена переменная A и совпадают ли типы операндов в каждой операции (А=1; Здесь и "А" и "1" должны иметь числовой тип). Промежуточный код представляет собой поток этих простейших инструкций, которые могут быть транслированы в инструкции конкретного процессора.
В однопроходном компиляторе все стадии анализа выполняются в одном цикле, что гораздо ускоряет скорость компиляции.
[spoiler="Скриншоты"]

[/spoiler]