美しく効率的なレキサ

Scalaで美しくて効率的なレキサーを作りたいと思っています。
やりたいことは

1.ファイルストリームから読み込む。
2.正規表現マッチングを使ってトークンを作成する。
3.マッチしたら返すyieldを使った実装にする。

ここで、ファイルストリームから読み込んだ文字列を正規表現でマッチングが難しい。
ファイルを全部読みこめば簡単ですが、通常の正規表現ではうまくいかないような。。。
ってことで、Scalaのソースを読んでみると、どうも手書きっぽい。むぅ。

って感じでした。
バッファリングされたリストデータに正規表現マッチングするライブラリがほしいってなると、
やっぱりlex系のツールってことになるのかなぁ???っと。