FreeBASIC
Реализация языка программирования BasicFreeBASIC — это бесплатный с открытым исходным кодом 32 разрядный компилятор языка BASIC для MS Windows, DOS (в защищённом режиме), Linux, Xbox. Первоначально компилятор разрабатывался как свободная альтернатива QuickBasic, но быстро оброс новыми возможностями и стал мощным средством разработки. Первые версии компилятора были написаны на Visual Basic, но теперь он в состоянии откомпилировать сам себя (написан на FreeBASIC).
Ассемблирование и компоновка производятся с помощью GNU Binary Utilities (код на FreeBASIC транслируется в ассемблерный код (GAS) и уже он компилируется и линкуется). Компилятор распространяется на условиях GNU GPL, стандартная библиотека — на GNU LGPL. Имеется несколько сред разработки, в качестве отладчика может использовать GNU Debugger (также поддерживается gprof).
FreeBASIC продолжает активно развиваться для достижения главной цели —включения в GCC.
Синтаксис
Синтаксис FreeBASIC пытается оставаться максимально близким к синтаксису QuickBasic, но учитывает и современные стандарты. FreeBASIC стал поддерживать стандартные процедурные особенности наряду с объектно-ориентированными (типы, объекты, перегрузка операторов и функции, пространство имен и т.д.).
Строки FreeBASIC считаются законченными при обнаружении символа конца строки или двоеточия. Благодаря этому нет необходимости заводить специальный символ (например, точка с запятой в C) для указания компилятору конца строки.
FreeBASIC поддерживает блочные комментарии, и комментарии до конца строки. Комментарий до конца строки начинается с символа '
, а блочный заключается между символами /'
и '/
.
Новые возможности и расширения
- поддержка Unicode
-
множество встроенных типов (
Byte, UByte, Short, UShort, Integer, UInteger, LongInt, ULongInt, Single, Double, String, ZString, WString
) - типы данных определяемые пользователем (бесконечная вложенность, Union, тип поля (array, function, bit fields))
- пространства имён
-
перечисляемый тип (
Enum
) - новые возможности при работе с массивами
- указатели (указатели на любые типы данных, неограниченная косвенная адресация)
- перегрузка функций и операторов
- необязательные аргументы функций
- встроенный ассемблер (ассемблерные инструкции в исходном коде программы)
- препроцессоры
- конструкторы и деструкторы классов
Совместимость
FreeBASIC является преемником QuickBasic, и для совместимости сделано изменение синтаксиса во время разработки (при помощи опции -lang
) при этом он совместим с современными утилитами, обеспечивает широкие возможности.
-
-lang fb
разрешает все современные возможности поддерживаемые FreeBASIC -
-lang deprecated
разрешает использование синтаксиса предыдущих версий FreeBASIC -
-lang qb
разрешает использование синтаксиса QuickBasic, (на максимально возможном уровне).
Библиотека для работы с графикой
FreeBASIC имеет встроенную графическую библиотеку для работы с 2D графикой, которая призвана обеспечить совместимость с QuickBasic, (содержит простые графические примитивы и некоторые расширения, которыми не обладал QuickBasic, Сама библиотека не зависима от операционной системы, что позволяет реализовывать кроссплатформеннй код.
Логотип FreeBASIC
Комментарии
]]>blog comments powered by Disqus
]]>