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.
Parser interpreter based on PEG grammars written in Python http://textx.github.io/Arpeggio/
PythonNOASSERTION