Hi Leo,
IMHO you are mixing distinct tasks in file parsing.
-
File reading.
-
Scanning (or call it tokenizing.)
-
Parsing.
At least, that's how
Aho, Sethi and Ullman was sumarized to me.
For the scanning I would write a class that parses output from a
handle and returns tokens or raises exceptions.
In fact I am working on a general purpose tokenizer/token package to deal with such cases. The code is one small part of a larger project I do so I haven't made it public (yet.) Tell me if you really want a preview of the package.
I did similar work in
this module.
Vincenzo