A by-the-book small but fully functional compiler written in pure Java