FreeBASIC マニュアルのトップに戻る

FreeBASIC CompilerDialects

目次→コンパイラ→FreeBASIC Dialects←オリジナル・サイト

FreeBASIC の方言 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る


FreeBASIC バージョン 0.17b は、-lang コマンドライン・オプションを導入しました。 このオプションは、BASIC 言語の異なった方言に対する言語互換性モードを変えるために、使われます。

バージョン 0.18.3b 以降は、-lang qb 方言は、QuickBASIC で許容されたことを許容するだけに、さらに制限されました。

バージョン 0.18.4b では、今後 -lang deprecated を置き換えることを意図して、-lang fblite 方言が加えられました。

バージョン 0.20.0b では、#lang 指示と、$lang メタコマンド(渡辺の推奨)が、ソースで方言を指定するために、加えられました。

-lang オプション記述
fbFreeBASIC 互換(デフォルト)
qbqbasic 互換
fbliteFreeBASIC 互換。より QBASIC 互換コード化スタイル
deprecatedFB 0.16 との互換 (非推奨)

-lang オプションは、今後、FreeBASIC が、オブジェクト指向や、他の特徴を追加してサポートできるようにするために必要でした。
-lang オプションを導入したことで、QuickBASIC サポートを無力にすることなく、古い FreeBASIC ソースとの互換性を壊すことなく、FreeBASIC が、よく似た同様のパッケージの多くの異なったバージョンに対して、維持を難しくすることを、回避したのです。
QuickBASIC サポートは、必要ならば、改良され続けることができます。この場合も、特に FreeBASIC のために書かれたソースは、書き換える必要はありません。

古い GW-BASIC や、QuickBASIC/QBasic のソースを、それほど多く変更せずにコンパイルするには、fbc を実行するときに、コマンドラインで -lang qb オプションを使ってください。
このオプションは、QuickBASIC/QBasic コードと、より互換性を保つように、進化していくでしょう。

0.16b の FreeBASIC ソースをコンパイルするには、-lang deprecated オプションを使ってください。
このオプションは、互換性のために維持されていますが、今後、修正されないでしょう。FreeBASIC の将来のリリースで、これは無くなるかもしれません。

FreeBASIC の、より新しい特徴を使いたいが、QBASIC 風のプログラミング形式を残したいプログラマは、-lang fblite オプションを使ってください。
この方言は、将来著しい変化はしませんが、維持されて、サポートされ続けるでしょう。

このオプションは、また、FreeBASIC の旧式バージョンを使って作られたソースと、最も互換性があります。

新しいプロジェクトには、-lang fb を使用することを推奨します。新機能(オブジェクト・クラス、継承 など) は、この方言だけに追加されるからです。


-lang fb (デフォルトモード)

サポートされない項目:

1) 暗黙の変数宣言


2) 型の接尾語(!, #, $, %, &)

3) Defbyte, Defubyte, Defshort, Defushort, Defint, Defuint, Deflng, Deflongint, Defulongint, Defsng, Defdbl, Defstr

4) すべてのパラメタは、デフォルトで参照渡しされる


5) あらゆる種類の OPTION (文脈で使えません)


6) 識別名でのピリオド(.)

7) GosubReturn (from Gosub)

8) On Gosub

9) Resume

10) コメントに埋め込んだ '$DYNAMIC, '$STATIC, '$INCLUDE メタコマンド

11) CallLet

12) 数値ラベル

13) 予約語と同じ名前の、グローバルなシンボル


-lang deprecated (非推奨)

サポートされる項目: バージョン 0.16b で許容された、全ての項目。しかし・・・

1) GOSUB/RETURNON ... GOSUB (モジュールレベルの場合も)


サポートされない項目:

1) Classes

2) 演算子の多重定義

3) TYPE の中の、構築子、解体子、メソッド。



-lang fblite

サポートされる項目: -lang deprecated 方言で許容された全ての項目。およびいくつかの項目。

1) GOSUB/RETURN

- Option Gosub が使えます。
これは、あいまいさのため、手続きを出るところで、RETURN が使えません。

サポートされない項目:

1) Scope ブロック


-lang qb

サポートされる項目: -lang fb 方言でサポート・許容されなかったすべて。および、いくつかの項目。

1) Call は、前方参照された関数と共に、使用できます。

2) Shared は、関数の中で使うことができます。 (開発途中)

3) 明示的もしくは黙示的に宣言された、全ての変数は、QuickBASIC のように、常に、手続き範囲に割り当てられます。

4) Data 命令文は、シンボルを見ません。全ての文字列構成は、たとえ引用符がなくても、文字定数の文字列と見なします。QuickBASIC と同様の動きです。


サポートされない項目:

1) 多重スレッド化
2) クラスと名前空間
3) 手続きと演算子の多重定義
4) Type 定義における構築子、解体子、および他のメンバー手続き。
5) Scope ブロック
6) Extern ブロック
7) 可変の初期化

参照:

目次に戻る
←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2020-08-13 03:36:45
日本語翻訳:WATANABE Makoto、原文著作者:JeffMarshall

ホームページのトップに戻る

表示-非営利-継承