A Parser Generator and Metacompiler