title: boost spirit parser look ahead parsing
body: <p>I want to parse a string which is of the form:
  string_number.
  I am not sure how to write a grammar for boost qi parser.</p>
  
  <p>Right now my grammar looks like:
  <code>
  +qi::char_("a-zA-Z0-9_-") >> lit('<code>_</code>') >> qi::int_
  </code></p>
  
  <p>But doesn't look like it works.
  Example strings are:
  ab_bcd_123 --> tokens(ab_bcd, 123)
  ab_123 ---> tokens(ab, 123)</p>