How to implement a programming language (tutorial for beginners)