FreeBASIC

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
FreeBASIC
パラダイム 手続き型
登場時期 2004年
設計者 V1ctor
開発者 The FreeBASIC Development Team
最新リリース 0.90.1 / 2013年7月17日
型付け 静的
影響を受けた言語 QuickBASIC, C言語
プラットフォーム DOS, Linux, Windows
ライセンス GNU GPL, GNU LGPL(標準ライブラリ)
ウェブサイト http://www.freebasic.net

FreeBASICは、フリーオープンソースGPL)の32ビットBASICコンパイラであり、Microsoft WindowsDOSのプロテクトモード(DOSエクステンダ)、LinuxXbox 向けの実行ファイルを生成する。FreeBASIC はセルフホスティングコンパイラであり、コンパイラ本体は約12万行のソースコードで構成されている(ライブラリは含まない)。

GNU Binutilsバックエンドとして利用し、コンソール用実行ファイルとグラフィカル/GUI用実行ファイルを生成する。ライブラリは静的リンクと動的リンクの両方に対応している。FreeBASIC はCライブラリと一部のC++ライブラリを利用できる。これを利用すると、C言語だけでなく他の言語のライブラリを使ったり、作成したりすることも可能である。

構文[編集]

FreeBASIC はBASICの構文を可能な限り守っており、特に QuickBASIC に近い構文になっている。そして、同時に最新のコーディング技術も取り入れている。標準の手続き型としての機能に加えて、オブジェクト指向的なデータ型オブジェクトの考え方を導入し、演算子や関数のオーバーロード名前空間といった機能が追加されている。

FreeBASIC では、行末を改行コードかコロンで表す。このため、C言語のセミコロンのような特別な行末記号は必須ではない。改行するまでに複数行のコードを書く場合に、コロンで区切る。

コメントは行単位のものとブロック単位のものがあり、行単位のコメントはシングルクオート (') で開始され、ブロックコメントは /' で開始して、'/ で終了となり、途中に改行コードがあってもよい。

互換性[編集]

QuickBASIC の後継を意図しているため、構文の変更は最近のユーティリティを使うためや、最新のプログラミング機能の追加のためにのみ行われている。QuickBASIC互換を厳密に保ちたい場合や、GCC準拠にしたい場合には、-lang オプションを使う。

  • -lang fb とすれば、FreeBASIC の最新機能が全て利用可能である。
  • -lang deprecated とすれば、前のバージョンの FreeBASIC に互換な構文が使える。バージョンアップで以前との互換性がなくなっている場合があるため、直前のバージョンを最新バージョンに移植したい場合に使う。
  • -lang qb とすれば、可能な限り QuickBASIC 互換の構文を使える。QuickBASIC との互換性を損なうような新機能は使えない。

Hello, World![編集]

print "Hello, World!"
sleep

グラフィックス・ライブラリ[編集]

FreeBASIC には、QuickBASIC互換の組み込みの2次元グラフィックスライブラリがあり、基本的な描画(矩形、直線、円など)やBitBltが可能で、同時にQuickBASICには無かった機能も追加されている。ライブラリ自体はOSから独立しており、コードは可搬性がある。

グラフィックスライブラリは組み込みだが、FBgfx Screen コマンドを使って使用を宣言しないと使えない。OpenGL やプラットフォームのGUIに従ったウィンドウ生成はライブラリとして別にある。

今後の開発予定[編集]

FreeBASIC はGNUコンパイラコレクションのフロントエンドとなることを目標として開発が続いている[1]。それにより、C++などのオブジェクト指向プログラミング言語の持つ機能が利用可能となり、様々なシステム上で動作し、最新のコンパイラ最適化技法を活用できるようになる。

バージョン 0.17 でオブジェクト指向プログラミング機能が導入され、データ型構造体が追加された。

脚注[編集]

  1. ^ FreeBASIC Todo List on Sourceforge”. 2007年7月31日閲覧。

外部リンク[編集]