コンパイラを作ろう!(5)

やっとこさ、http://www.cmagazine.jp/contents/200301.htmlのサンプルを試した。途中、整数の字句解析部で、値を取得するための自動変数が0で初期化されておらず、VCでビルドして実行したらランタイムエラーになってしまった。バグでしょうね、これは。

とりあえず、0で初期化してビルドして問題なく動作。んでもって、lexerを粗方解析した。明日はparserやcode generator解析したあと、結城先生の教えに倣い、lexer、parser、code generatorの構造に関して、理解したイメージを、白い紙に0から再構築をしてみよう。そして、今回のサンプルレベルの処理系を自分で仕様化して作成することで、新しい例の作成を実現してみよう。