Arpeggio is a recursive descent parser with memoization based on PEG grammars
(aka Packrat parser).
