* [[a21_txt01_2]]の補足説明#1 -(by [[K]], 2021.01.21) ** (0) -これは[[「川合のプログラミング言語自作のためのテキスト第三版#2」>a21_txt01_2]]に対する補足説明のページです。 ** (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の文字列が置かれます。 * こめんと欄 #comment