Experimental parser combinator written in Python