* [[text0002]]の補足説明#1 -(by [[K]], 2019.02.27) ** (0) -これは[[「川合のプログラミング言語自作のためのテキスト#0002」>text0002]]に対する補足説明のページです。 ** (1) lexer()は結局何をしているのか? -lexer()は、プログラムのソースコードを単語(トークン)に切り分けています。 -でもそんなことを言われてもピンとこないかもしれません。 -以下の入力を与えたらどうなるかやってみましょう。 abc = 123; def = 456; ans = abc + def; ans = ans - 321; print ans; -これを入力して、loadText()で読み込んで、lexer()で切り分けた後に、 -これを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