ANTLR is my usual recommendation for people getting into Parser Generators since it is an easily available, mature tool with good documentation. There’s also a nice IDE-style tool (ANTLRWorks) that provides some very handy UI affordances for developing grammars.
(A small thing, but something that’s bitten me a couple of times. If you don’t put the EOF at the end of the top rule, ANTLR won’t report errors. It effectively stops parsing at the first point of trouble and doesn’t think anything went wrong. This is particularly awkward because ANTLRWorks will show an error in its interpreter when this happens—so it’s easy to get confused, frustrated, and ready to do violent acts against your monitor.)