I think the best tutorial would not be for a toy language or just for simple expressions. But for a subset of a real language. That way the details learnt are directly applicable to the real world. Create a compiler for a subset of C or a subset of Java. Then it is possible for the reader to continue developing that compiler to include more and more features.