LALR(1)

コーパスはやっぱり正規表現じゃなくて ocamlyacc でよみたいよねぇ、という話があったので、久し振りに ocamlyacc を書いたら、うまくパースできない。lexer がトークンがないない騒ぐ。なんのことやら。環境変数 OCAMLRUNPARAM いじったり、-v でデバッグするんですね。いろいろ知った。遷移表が出てくる様とか圧巻。結局、あれだ。eof をトークンにしてなかったので、ファイルの末尾で1文字先読みができなかったと(ということだと思う)。ナンダヨ。
余談。mly 中で定義した関数を mli にはかせる方法は無いものか。一つソースファイルを追加すればいいだけな気もするが・・・。