Constructing Language Processors for Little Languages by Randy M. Kaplan