CD が割れた

上の文章書いた直後から、プログラミングを開始する。
何はともあれ、実験的にでもスクリプトパーサ(解析)を書いてみなければ始まらない。
幸いなことに先月の C MAGAZINE 付録 CD にサンプルコードが収録されているしね。

CD をセットをセットしたらハングした…というかシークし続けて制御が戻ってこない。
ついにドライブ逝ったか? などと思いながらイジェクトしてみる。

あら、横一文字に見事なヒビが入ってるじゃないですか。
傷じゃなくてヒビ、表からも裏からもハッキリとが見えてました。
「これって、ちょっと力を加えたら…」などと考え、試してみたらパキョンと音を立てて真っ二つに(大汗)。

唯一にして最大の資料を一目見ることなく失う。
まぁ、記事にもソースリストが掲載されているんだけど、それらは重要な処理の一部でしかない。
いやぁ、キツイ出だしになってしまった。
仕方ないので Ruby や Formula と言ったソースを公開しているインタプリタを落としておく。
HSP(Hot Soup Processer)のソースがあれば一番参考になっただろうけど…まだまだ Windows の世界は閉塞的だなぁ。

本来ならこういったパーサを作る場合は、yacc(bison)やlex(Flex)と言ったコード自動生成してくれるツールを使うらしい。
こいつらは、ある一定のルールで書かれた構文規則に基づいて、字句抽出および構文解析を行うコードを一瞬にして吐き出してくれる。

その方が効率もいいし正確性も増すのだろう。
ただ C マガの著者も言うように自分の手で一から書き上げることは処理内容の原理を理解することに大変役立つ。
ツールの使い方を知ることが内容の理解に直結することは無いわけで…具体的にわかりやすい例を挙げれば「FrontPage(またはNetscape Composer)が使える」のと「Hyper Text Markup Language を知っている」ってのじゃ雲泥の差があるでしょ?

んで、記事を読んだり前述の Ruby やらのソースコードを見たりしながら、実際にコードを書いていく。
C マガの原稿は処理全体の雰囲気を掴むのに役立つが、プログラムソースはそれ以上に色々なことを語ってくれる。
前田慶次の言う「拳こそ言葉だ!」に繋がる部分があるな(勘違い)。

とりあえず字句解析(x = 10; を例とすれば、x が変数で、= は代入で、10 が定数であると認識する)の部分は何とかなった。
そして気が付けば午後3 時、今日は研究室のゼミがあるんだった…っちゅーか眠いよ。

半ば朦朧としたままゼミを受けて、6 時過ぎに帰宅する。
あ~米炊いてないや面倒だから食パンで済まそう冷凍コロッケを揚げてレタス挟めば上出来だろう。
一日の食事がこれだけなんてホントに大丈夫かなぁ…。

結局また 26 時間ほど起きていたらしい。

コメント

タイトルとURLをコピーしました