Text this: Constructing language processors for little languages / Randy M. Kaplan.