I am planning on doing a script transformation utility (for extended diagnostic information) using Boost.Spirit 2.
While there is support for line information etc.
Here is another useful article that explains how to use the exception that the phrase_parse function throws.
phrase_parse
The article describes how to get error messages like this:
Exception: parse error at file STDIN line 1 column 10 '123,42.0,a,1.4' ^- here