海野秀之(うんのひでゆき)の外部記憶
Twitter (twilog) / RSS / アンテナ / ぶくま
3章の課題である Tiger Language Parser を書いた: https://github.com/unnohideyuki/Tiger-in-Haskell/tree/master/chap3
ほとんど文法をそのまま Happy で書いただけなんだけど、shift/reduce conflict の解消については以下を参考にさせてもらった。 https://github.com/sunchao/tiger/blob/master/tiger.grm
Happy と Alex の連携については、これが、たぶん一番ナイーブな方法だと思う。
http://www.cs.princeton.edu/~appel/modern/testcases/ にあるものでは、test49.tig のみが Parse Error に:
$ ./parsetest < ../testcases/test49.tig parsetest: Parse Error at token nil at line 5, col 25