int main () { InputStreamAdapter isa (std::cin); Preprocessor pp (isa); try { for (;;) { Token t (pp.next ()); if (t == Token::eos) break; std::cout << t; } } catch (std::exception const& e) { cout << e.what () << endl; } return 0; }