FreeBASIC

FreeBASIC:多機能なオープンソースBASICコンパイラ



FreeBASICは、自由かつオープンソースで開発されている32ビットのBASICコンパイラです。このコンパイラは、Microsoft Windows、DOS(プロテクトモード)、Linux、さらにはXboxといった多様なプラットフォーム向けの実行ファイルを生成できます。FreeBASICはセルフホスティングコンパイラとして設計されており、そのコンパイラ本体は約12万行のソースコードで構成されています(ライブラリは除く)。

コンパイラの特徴



FreeBASICは、バックエンドにGNU Binutilsを利用しており、コンソールアプリケーションだけでなく、グラフィカルユーザーインターフェース(GUI)を持つアプリケーションも生成可能です。ライブラリは静的リンクと動的リンクの両方に対応しており、C言語ライブラリや一部のC++ライブラリを利用できるため、他の言語のライブラリを活用したり、独自のライブラリを作成することも可能です。

言語構文



FreeBASICの構文は、可能な限りBASICの原則に忠実であり、特にQuickBASICの構文と非常に近いものとなっています。しかし、最新のプログラミング技術も積極的に取り入れられており、標準的な手続き型プログラミングに加え、オブジェクト指向的なデータ型やオブジェクトの概念、演算子や関数のオーバーロード、名前空間といった機能も利用できます。

FreeBASICでは、文末は改行コードまたはコロンで示されます。C言語のようにセミコロンを必須とする必要はありません。複数行にわたるコードを記述する際は、コロンで区切ることで一行に記述できます。

コメントは、行単位のものとブロック単位のものが利用可能です。行単位のコメントはシングルクォート(')で始まり、ブロックコメントは/'で始まり、'/で終わります。ブロックコメントは、複数行にわたるコメント記述が可能です。

互換性



QuickBASICの後継として開発されているため、構文の変更は主に最新のユーティリティやプログラミング機能の追加に限定されています。QuickBASICとの厳密な互換性を維持したい場合や、GCCに準拠したコードを記述したい場合は、`-lang`オプションを使用します。

`-lang fb`:FreeBASICの最新機能を全て利用できます。
`-lang deprecated`:以前のバージョンのFreeBASICと互換性のある構文を利用できます。バージョンアップによって互換性が失われた場合に、以前のバージョンから最新バージョンへの移行を容易にします。
`-lang qb`:可能な限りQuickBASICとの互換性を維持した構文を利用できます。QuickBASICとの互換性を損なうような新機能は利用できません。

Hello, World!の例



basic
PRINT "Hello, World!"


グラフィックスライブラリ



FreeBASICには、QuickBASIC互換の組み込み2次元グラフィックスライブラリが搭載されており、基本的な図形(矩形、直線、円など)の描画や、BitBltなどの操作が可能です。QuickBASICにはなかった機能も追加されており、ライブラリ自体はOSに依存しないため、コードの移植性が高いです。ただし、グラフィックスライブラリを使用するためには、`FBgfx Screen`コマンドで宣言する必要があります。OpenGLやプラットフォームのGUIに従ったウィンドウ生成は、別のライブラリとして提供されています。

今後の開発



FreeBASICは、GNU[[コンパイラコレクション]]のフロントエンドとなることを目指して開発が続けられています。これにより、C++などのオブジェクト指向プログラミング言語が持つ機能を活用し、さまざまなシステムでの動作や最新のコンパイラ最適化技術の利用が期待できます。バージョン0.17では、オブジェクト指向プログラミング機能が導入され、データ型や構造体が追加されました。

まとめ



FreeBASICは、QuickBASICの遺産を受け継ぎつつ、現代的なプログラミングパラダイムに対応した強力なコンパイラです。多様なプラットフォームで利用可能であり、柔軟な開発環境を提供します。オブジェクト指向機能やCライブラリとの連携機能など、高度なプログラミングにも対応しています。


外部リンク



公式サイト
公式フォーラム
SourceForgeでのホームページ
BASIC wikiへのリンク'>FreeBASIC wiki
BASICに関する情報サイトへのリンク'>Freebasic - On the Go
FreeBASIC 日本語マニュアル(英訳)
Windows用GUIライブラリ
ミラーサイト
web上で入力確認出来るサイト

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。