Arpeggio - PEG parser
Arpeggio is a recursive descent parser with memoization based on PEG grammars (aka Packrat parser).
Documentation with tutorials is available here.
Note: for a higher level parsing/language tool (i.e., a nicer interface to Arpeggio) see textX.