I try to parse TPCH files with Boost Spirit QI.
My implementation inspired by the employee example of Spirit QI ( http://www.boost.org/doc/libs/1_52_0/libs/spirit/example/qi
Boosts libraries have a lot of redundancy that are removed when using optimization flags.
Another possible solution is use Repetition Parser Directive:
http://www.boost.org/doc/libs/1_52_0/libs/spirit/doc/html/spirit/qi/reference/directive/repeat.html