Text this: Writing compilers and interpreters