コンパイラ系を見直す
HTMLの状態遷移をもっと的確に行うようにした。
というのはHTMLの中の本文(BODY STRING)と、タグ内('<'と'>'の間)と、ダブルクオーテーション、シングルクオーテーション内で、認識するトークンが違うからだ。
例えば、タグ内では"HTML"という単語が出てきたら、これはトークンであり、タグの名前を決めるためのものである。
だけれども、本文の中で、"HTML"という単語が出てきても、それは単なる文字列の一部だ。
実は、この辺を見直すと、日本語の問題がなくなってきた。
というのは、日本語といっても、しょせんはCharの配列の連続のパターンだ。
むしろ、日本語対応の悩みというのは、今考えてみれば実は、「トークンでない文字列」というものの表現に困っていただけで、むしろ、そんなものを考えなくてはいけないコンパイラ生成規則の設計自体が間違っていたのだ。