(0)
(1) lexer()は結局何をしているのか?
- lexer()は、プログラムのソースコードを単語(トークン)に切り分けています。
- でもそんなことを言われてもピンとこないかもしれません。
- 以下の入力を与えたらどうなるかやってみましょう。
abc = 123;
def = 456;
ans = abc + def;
ans = ans - 321;
print ans;
- これをloadText()で読み込んで、lexer()で切り分けた後に、
for (i = 0; strlen(t[i]) > 0; i++)
printf("%s\n", t[i]);
- というプログラムで表示させたら、何が出力されるかを示します。
abc
=
123
;
def
=
456
;
ans
=
abc
+
def
;
ans
=
ans
-
321
;
print
ans
;
- こうなります。つまり改行とかスペースはなくなり、とにかく単語が並びます。そして末尾には長さ0の文字列が置かれます。
こめんと欄
|