I have written a parser or two. I have a few suggestions if you plan on writing your own parser.
- Prepare to devote the next few months if you plan to write a real, generalized, marginally useful parser. This is hard.
- Buy This book. Ingest all of it. Then, you are ready to write a useful parser.
Now, if you plan on writing a simple method to "parse files for your research", get our fellow monk davorg
's book Data Munging with Perl
. You won't really leave with the knowledge required to chose between LR and Recursive descent parsing depending on the Chomsky's hierarchy level of your grammar... but you will probably be able to do something quite useful. If you are planning on parsing, you shouldn't dismiss Parse::RecDescent
so quickly as overkill, it's pretty sweet. And, with the advent of Perl 6, it will pretty much be "in core"...