A FreeBASIC egy ingyenes, nyílt forrású (GPL), 32 bites BASIC-fordító[2] Microsoft Windowshoz, védett módú DOS-hoz (DOS extender), Linuxhoz és Xboxhoz.
A FreeBASIC magas szintű támogatást nyújt a QuickBASICben írt programok számára ezen „'$lang: "qb"” kapcsoló használatával. E módon számos QuickBASICben írott alkalmazás futtatható, azonban nélküle némi módosítás szükséges. Általában a nagyszabású programokon változtatni kell, hogy lefordulhasson és használni lehessen az alapértelmezett nyelvstílusban.
Leírás
A FreeBASIC egy önkiszolgáló fordító, mely nagyjából 120 000 kódsorból építkezik (ez csak a fordító magja, a könyvtárakat nem beleszámítva).
Felhasznál GNU bináris eszközöket és képes konzolos illetve grafikus alkalmazások, valamint statikus és dinamikus (DLL) könyvtárak létrehozására, kezelésére. A FreeBASIC teljes mértékben képes kezelni a C, valamint részben a C++ könyvtárakat. Így lehetséges C és más nyelvű könyvtárakat készíteni a nyelvhez.
A FreeBASIC fordító még nem optimizál, de sebességben közel áll az ismertebb hasonló fordítókhoz, mint például a GCC-hez.[3]
Szintaxis
A FreeBasic szintaxisa a lehető legközelebb áll a BASIC szintaxishoz, különösen a QuickBASIC szintaxisához. Így a szintaxis kompatibilis maradt az őseivel, de egyben követi a modern szabványokat és kódolási praktikákat. A nyelv teljes mértékben objektumorientált, így használhatóak benne a típusok, objektumok, operátor és függvény overloading, stb.
A FreeBASIC sorok a sorvéglezáró karakterig („EOL”), illetve a kettőspont („:”) karakterig tartanak. Emiatt nincs szükség olyan speciális karakterre – mint a C-ben a pontosvessző („;”) –, amelyek jelzik a fordítónak a sorvéget. Így a többszörös kiefejezések írhatóak egy sorba, a kifejezéseket elegendő „:”-tal elválasztani.
A FreeBASIC támogatja a blokk-kommentezést, míg a teljes sori komment az aposztróffal készíthető, blokk-komment a /' és '/ jelekkel végezhető.
Kompatibilitás
A FreeBASIC a QuickBASICen alapul. A fejlesztés folyamán azonban szem előtt tartották az illeszthetőséget más modern fejlesztőeszközhöz. A visszafelé kompatibilitás érdekében bevezették a -lang kapcsolót, amely biztosítja a GCC kompatibilis QuickBASIChez való megfelelőséget. A kapcsoló „háromállású”. Ha a -lang fb kapcsolót használjuk, akkor minden modern FreeBASIC funkció használható, és a QuickBASIC-specifikus funkciók kikapcsolódnak. Ha a -lang fblite kapcsolót használjuk, akkor az objektumorientált funkciók kikapcsolódnak, de az egyéb új fejlesztések használhatóak, de a régi típusú BASIC-verziók szerint. Harmadik, -lang qb opcióval a fordító csak a QuickBASIC fordítónak megfelelő kódolással használható, viszont ez a módszer lehetőséget ad a régi programok újraírás nélküli fordítására.
Példa
Mint QBasic-ben, a következő egyszerű utasítás kiírja a képernyőre a „Wiki” szót:
Grafikus könyvtár
A FreeBASIC rendelkezik egy beépített kétdimenziós grafikus könyvtárral, amely QuickBASIC-kompatibilis, és egyszerű grafikus alkalmazások (sokszögek, vonalak, körök megjelenítése) készítéséhez roppant alkalmas. Ez a programkönyvtár platformsemleges, így az alkalmazások könnyen átvihetők más operációs rendszerre.
A fejlesztés jövője
A FreeBASIC fejlesztése folytatódik, míg el nem éri azt a szintet, ami megfelel egy GCC (C++ vagy más objektumorientált kompatibilis) fordítónak.[4]
Jegyzetek