[Haskell-cafe] parsec: how to get end location
Roman Cheplyaka
roma at ro-che.info
Sun Jun 13 17:17:00 EDT 2010
Suppose I have some parser 'p'. I want to parse it as well as get its
span in the text. So I could write
\begin{code]
pWithLocation = do
loc_start <- getPosition
pval <- p
loc_end <- getPosition
return (pval,loc_start,loc_end)
\end{code}
except that loc_end gives me the location _after_ 'p'. In case when 'p'
has consumed trailing newline I see no way to recover the end location
of 'p' (it is the last column of the previous line).
So, can I do anything with this without patching parsec?
I use parsec3 if it matters.
--
Roman I. Cheplyaka :: http://ro-che.info/
"Don't let school get in the way of your education." - Mark Twain
More information about the Haskell-Cafe
mailing list