in reply to RecDescent, flushing/skipping stuff

I guess I don't see why you'd want to use RecDescent for a sample that you don't fully parse. Your example is easier scanned with a couple regexes than with a recursive descent parsing grammar. Maybe you're just trying to learn the recursive-descent concept or package.

Skip (or collect) all lines until you see the bit you're interested in, then collect all the lines that are a part of the interesting content, then parse that chunk in whatever fashion you like. I'd go with a one-line regex to collect fields, but if you want to use RecDescent on the chunk, have fun.

To test this sort of thing, you might want to give it some input that doesn't have any extraneous junk first. Make sure the important line gets parsed the way you like. Then as you add line-skipping logic, add junk lines to your test input. It's easy to get confused when you always test with the entire input all at once.

--
[ e d @ h a l l e y . c c ]

  • Comment on Re: RecDescent, flushing/skipping stuff