This post is part of the Introduction to parsing series. In the last part we made our parser work with variables. In this part, we’ll take a step back and start setting up the infrastructure for handling function definitions. Immediate evaluation vs AST Our parser is currently working in an “immediate evaluation” mode: as soon as a token is found, it is evaluated. While this has worked well for us so far, it will cause problem when we’ll move towards letting the user define functions:...