トップ 一覧 Farm 検索 ヘルプ RSS ログイン

Diary/2004-10-17の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!LALR(1)
C言語パーザがほしくてなんとなく実装していたのですが、
拡張するたびに、いきづまってしまったので、ちゃんとLALR(1)したくなってきました。
後の処理がschemeなので、schemeなLALR(1)パーザ誰かかいてないかなと探してみると
[A portable and efficient LALR(1) parser generator for Scheme|http://www.iro.umontreal.ca/~boucherd/Lalr/documentation/lalr.html]と、ちゃんと書いている人が。
guile用にmakeして、prettyprintをprintでおきかえたら、gaucheで使えるように。
これで、だいぶ楽に実装できるかな?できるといいな。
lexerの仕様が自分でかいてたのとちょっと違うので結構手をいれなきゃだけど...

!...と思ったけど、
やりたいことは、このLALRパーザの外側ではできなかった。
実装の切り分け方がおかしいのかな〜。
とりあえず自分でLALRパーザ実装することに。

!#<undef>
デバグメモ
値を返そうとしていたつもりなのに#<undef>がかえってくる場合は、
たいていifやcondの条件が足りない場合が多いよう。
VHDLとかでも一緒か...メタステーブル。