Кіріспе
BASIC диалектісі FreeBASIC – бұл Microsoft Windows, қорғалған режимдегі MS DOS (DOS extender), Linux, FreeBSD және Xbox үшін GNU GPL лицензиясымен таратылатын, BASIC негізіндегі тегін және ашық кодты көп платформалы компилятор және бағдарламалау тілі. Xbox нұсқасы енді қолдау көрсетілмейді. Ресми сайтында айтылғандай, FreeBASIC бастапқыда Microsoft QuickBASIC (QB) бағдарламаларымен синтаксистік үйлесімділікті қамтамасыз етеді. Алайда, QuickBASIC-тен өзгеше, FreeBASIC тек командалық жолдан жұмыс істейтін компилятор, егер пайдаланушылар өздері қалаған сыртқы интеграцияланған даму ортасын (IDE) қолмен орнатпаса. FreeBASIC үшін арнайы жасалған IDE-лерге FBide және FbEdit жатады, ал графикалық интерфейсті ұсынатын нұсқаларға WinFBE Suite және VisualFBEditor кіреді.
FreeBASIC is a free and open source multiplatform compiler and programming language based on BASIC licensed under the GNU GPL for Microsoft Windows, protected mode MS DOS (DOS extender), Linux, FreeBSD and Xbox. The Xbox version is no longer maintained. According to its official website, FreeBASIC provides syntax compatibility with programs originally written in Microsoft QuickBASIC (QB). Unlike QuickBASIC, however, FreeBASIC is a command line only compiler, unless users manually install an external integrated development environment (IDE) of their choice. IDEs specifically made for FreeBASIC include FBide and FbEdit, while more graphical options include WinFBE Suite and VisualFBEditor.
Компилятордың ерекшеліктері
FreeBASIC өзінің артқы жағында консольдік және графикалық пайдаланушы интерфейсі бағдарламаларын жасау үшін GNU Binutils-ті пайдаланады. FreeBASIC C тіліндегі статикалық және динамикалық кітапханаларды байланыстыруды және құруды қолдайды, ал C++ кітапханаларын шектеулі түрде қолдайды. Осының нәтижесінде FreeBASIC-те құрастырылған кодты көптеген түпнұсқалық даму орталарында қайта пайдалануға болады. FreeBASIC оптимизациялайтын компилятор болмаса да, оптимизацияланған компиляция үшін C тіліне түрлендіре алады. FreeBASIC ішкі құрастыруды, көп жіптілікті қолдайды және автоматты қоқыс жинауды қолданбайды. C стильді алдын ала өңдеу, оның ішінде көпжолды макростар, шартты компиляция және файлдарды қосу мүмкіндіктері бар. Алдын ала өңдеушіге сондай-ақ символдар туралы ақпарат пен компилятор параметрлері, мысалы тілдің диалектісі де қолжетімді.
Синтаксисі
Бастапқыда FreeBASIC Microsoft QuickBASIC синтаксисін мүмкіндігінше дәл көшірді. Содан кейін тіл өз дамуын жалғастырды. Нәтижесінде, FreeBASIC бірнеше тілдік диалектілерді QuickBASIC-пен максималды үйлесімділікке және қазіргі заманғы мүмкіндіктерге толық қол жеткізу үшін біріктіреді. Жаңа мүмкіндіктерге нысандар, операторларды жүктеу, функцияларды жүктеу, атау кеңістіктері және тағы басқалары сияқты түсініктерді қолдау кіреді. Жаңа жол символдары бағдарламалау операторларының аяқталуын көрсетеді. Бағдарламалау операторын төменгі сызық жалғастыру символы (_) арқылы бірнеше қатарға бөлуге болады, ал бірнеше операторды бір қатарға екінүкте (:) арқылы бөліп жазуға болады. Блоктық түсініктемелер де, жол соңындағы түсініктемелер де қолдау көрсетіледі. Толық жолды түсініктемелер апостроф (') арқылы жасалады, ал түсініктемеленген код блогы '/' символымен басталып, '/' символымен аяқталады. FreeBASIC әріптердің үлкендігі мен кішілігіне сезімтал емес.
Графикалық кітапхана
FreeBASIC FBgfx арқылы QuickBASIC-ке үйлесімді графикалық қолдауды қамтамасыз етеді, ол SCREEN командасын шақыратын бағдарламаларға автоматты түрде қосылады. Оның негізгі бөлігі Linux жүйесінде OpenGL, ал Microsoft Windows жүйесінде DirectX болып табылады. Бұл абстракция FBgfx графикалық кодын әртүрлі платформаларда қолдануға мүмкіндік береді. Дегенмен, FBgfx аппараттық үдетілмейді. OpenGL немесе Windows API сияқты сыртқы графикалық құралдарды білетін пайдаланушылар, кіріктірілген графикалық кітапхананың жұмысына кедергі келтірмей оларды пайдалана алады.
Тіл диалектілері
FreeBASIC дамыған сайын, ескі стильдегі синтаксисті бұзу қажеттілігі тудырған өзгерістер енгізілді. Ескі синтаксиспен жазылған бағдарламаларды қолдауды жалғастыру мақсатында FreeBASIC енді келесі диалекттерді қолдайды: Стандартты диалект (lang fb командалық жол аргументі ретінде) жаңа компилятор мүмкіндіктерінің барлығын қолдайды және көне синтаксиске жол бермейді. FB lite диалектісі (lang fblite) ескі стильдегі бағдарламалаудан өзге, жаңа, объектіге бағытталмаған мүмкіндіктерді де пайдалануға мүмкіндік береді. Осы диалектте жасырын айнымалылар, қосымшалар, GOSUB / RETURN, сандық белгілер және басқа да мүмкіндіктерге рұқсат етіледі. QB диалектісі (lang qb) QuickBASIC-тің әрекеттерін қайта жасауға тырысады және көптеген QuickBASIC бағдарламаларын өзгеріссіз компиляциялай алады.
The default dialect ( lang fb as a command line argument) supports all new compiler features and disallows archaic syntax. The FB lite dialect ( lang fblite) permits use of most new, non object oriented features in addition to older style programming. Implicit variables, suffixes, GOSUB / RETURN, numeric labels and other features are allowed in this dialect. The QB dialect ( lang qb) attempts to replicate QuickBASIC behavior and is able to compile many QuickBASIC programs without modification.