Yet another top down parser generator