I suspect that lots of us have written parsers, but a general purpose one gets very messy very fast. Look at the Scan String for Tokens function in the string palette >> Additional String Functions. It takes a bit of work to see the power of it for a parser, but it is worth the effort if you have to write your own. I used it to write an assembler for an obsolete microprocessor that I needed to continue supporting. The result was much more versatile than doing everything with Match Pattern.
Lynn