while文に統一している(for文を使わない)理由とりあえず丸括弧の中に1って書いておけばループを抜ける事が無いので、何も考えなくても書ける。ループを抜けるのにはbreak文を使い、もし短く書き直せるなら後から書き直せば良い。(書き直し易い)
for文だと初期化と継続条件とカウンタ変数の書き換えの順番が分からなくなる。実行される順序も分からなくなる。
for文は構文が気持ち悪い。何故セミコロンなのかが謎。
簡易Forthもどきインタプリタを作ってみます。
因みに、ソースコードとバックアップは私の開発環境にApacheを入れて公開している物なので、恒久的に利用出来るリソースではありません。
前に書いたのが気に入らない上に無駄が多いので、書き直してみる。
typedef struct
{
int sign; /*符号部*/
int exponent; /*指数部*/
long long int mantissa; /*仮数部*/
} float_t; /*浮動小数点数*/
typedef struct token
{
struct token *prev; /*前の要素*/
struct token *next; /*次の要素*/
int type; /*データの種類*/
union
{
int operation; /*データが演算子の場合、演算子の種類*/
long int integer; /*データが整数の場合、その整数*/
float_t floating_point; /*データが浮動小数点数の場合、その浮動小数点数*/
} body; /*データ本体*/
} token_t; /*字句*/
このデータ構造を生かして16ビット環境とかでも同じ結果を出力するちゃんとしたコンパイラを作ろうかと思っています。浮動小数点数の扱いが面倒そう。
技術書を1冊買うだけで一ヶ月分のお小遣いが消えてしまう現状をどうにかする為、銀行口座を晒す事にしました。(というか、これの為に銀行口座を開設しました。)