general-purpose parser generator
