Tiny recursive decent parser for Python