A parser generator generator