Invia SMS: The theory and practice of compiler writing