Here's another parser builder:
Gold Parser Builder[
^]. It's free; you give it a syntax document and it generates state machines that identify the tokens (keywords, constants, symbols, etc.) in the input and invokes your code that implements the rules of the grammar.