]]> ]]>

FreeBASIC

Реализация языка программирования Basic

FreeBASIC — это бесплатный с открытым исходным кодом 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
Логотип FreeBASIC


Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам