in reply to Object Query Languages and Parsers
With regard to parsing, I would first create a grammar. I find Parse::RecDescent too slow when speed is of the essence. Writing your own top-down parser should speed things up and for a small grammar, it should be be easy to maintain as well.
Top-down parsers are constructed from a grammar as follows:
- Each nonterminal in your grammar becomes a subroutine that you call
- Alternation '|' is handled with if-then statments
- Qunatifiers like '*' and '+' are handled with loops
- Nonterminal strings are matched using regexes.