2010年3月23日火曜日

プログラム言語について-Basic言語-

Basic言語は、1964年にコンピュータ教育用の言語として開発されたようです。言語的には、当時使われていたFORTRANに近いものとなります。FORTRAN言語での処理系は、軽いので非常に小さなメモリでも動作できたことから、パソコン上で動作できるようになり、普及しました。
私も以前、Z80パソコン上で動作するBasicインタプリターを開発したことがあります。コンパイラーがコーディングされたプログラムのロジックが動作する機械語を作成するものですが、インタプリターは、機械語を作成するのではなく、直接、動作します。

例えば、以下のBasicプログラムを実行した場合には、
10 A = 10
20 FOR I=1 TO 3
30 A = A+1
40 NEXT I
をRUNコマンドで実行すると、次のように動作します。
① 行番号10でA=10を実行します。変数Aに10を代入する命令ですが、変数Aは未だありませんので、変数Aの領域をメモリに確保して、10を設定します。
② 行番号20は、FOR文であり、そのループ変数がIであること、下限が1、上限が3であることが分かります。そこで、①と同じように変数Iを作りその中に値0を代入します。変数Iの内容が3より小さいので次の行(行番号30)を実行することになります。
③ 行番号30では、A=A+1であることから、変数Aの値を取り出し、その変数値に1を加えた結果を変数Aに格納します。
④ 行番号40では、Iの値に1を加え、行番号20に戻ります。
⑤ この動作を繰り返し、変数Iが3を超えるまで③④を繰り返します。Iが3を超えると行番号40の後の行を探しますが、行番号40に続く行が見つからないので終了となります。変数Aには、13となります。
このように、インタプリターでは、順にプログラムを実行するようになります。

0 件のコメント:

コメントを投稿