top-downかbottom-upか?パーサーどうしよう問題

簡単なパーサー(というかコンパイラ?)を実装しなければならないのだが,bottom-upでやるべきか,top-downでやるべきか・・・
BNFで書いても簡単なものなので,GoFのinterpretorパターンでabstract syntax tree作るのは良いのだが・・・
ソースコードをiterativeに解析するのが前提ならbottom-upで決まりなのだがにゃ〜.
みんなどうしてるんだろうにゃ〜.
ちなみに,最初boost::spirit使おうとして大きくコケたんだにゃ〜w
どうでも良いけどspiritは一度ソース読んでみたいにゃ〜
中でstaticにLRパーサー自動生成してたりしてw
・・・し,してないよね(((( ;゜Д゜)))ガクガクブルブル