C言語-インタプリタminiBASIC |
簡単なBASICプログラム程度が処理できるインタプリタ型の言語処理プログラム(mbas : Mini BASic)をC言語で開発する。
例 mbasのプログラムリスト(拡張子は、mbとする)と実行例
INPUT "Teihen=",t INPUT "Takasa=",h s = t * h / 2 PRINT "Menseki=";s END |
D:\>mbas reidai.mb Teihen=10 Takasa=10 Menseki=50 |
プログラムmbasは、指定されたプログラムファイルを読み込み、ファイル内の命令に従って処理をする。このプログラムmbasを作成する。
[処理手順]
数値定数 | 10進数 |
文字定数 | ""で囲む |
変数 | 実数型(double)のみ |
変数名 | A - Z の26個のみ |
演算子 | +, -, *, / (四則演算) |
命令 | END : 終了 INPUT : キーボード入力 PRINT : 画面表示 FOR - NEXT : 繰り返し IF - ELSEIF - ELSE - ENDIF : 条件判断 REM : コメント |
1. mbasのプログラムファイル名をコマンドラインから取得する
void main(int argc, char *argv[])
関数mainを上のように定義することで、変数argcにコマンドラインのパラメータ(引数)の個数、配列argvに各パラメータが格納される。
実行結果のように“% mbas reidai.mb”と実行すると、変数argcは2となる。また、パラメータreidai.mbは配列argv[1]に格納される。
argc = 2 | argv[0] = mbas | |
argv[1] = reidai.mb |
[test01.c] | |
1: 2: 3: 4: 5: 6: 7: 8: 9: |
#include <stdio.h> @ { int i; for(i = 0; i < argc; ++i) printf("argv[%d] = %s\n", i, argv[i]); } |
for文で、0からargc-1まで繰り返しパラメータを表示するようにしているので、複数のパラメータを指定しても表示することができる。
Copyright © 2001 Hiroshi Masuda |