文化の日

こんな日は、知的にプログラミング。

先週くらいから取り掛かっているコンパイラの改良作業をガンガン進める。
とりあえず、自前のPinを入れるスタックを使っていたのをAction Semanticsにあわせるために、構文木のノードにPinの参照を持たせて、子供のノードから処理が戻ってきたらそれを使うように書き換える作業をした。スタックだと、前のStatementからOutputPinがあるかどうかの判別がしにくいという欠点があったが、これでその判別ができるようになったと思う。
そのあと、SendSignalの文法を追加して、コンパイルテスト。
なんか、コンパイラからシグナルが見つからんと文句言われる。ちゃんと、このシグナルを受信できますよ、とサンプル通り設定したんだが…。うーむ、原因がわからない。シグナルを設定するところが悪いのか?、それともインスタンスを作成するときに属性がコピーされていないのか?