This post is part of the Introduction to parsing series. In the last part we started adapting our parser to work with an AST, as a step towards handling function definitions. In this part, we’ll continue on that road. More nodes type The last time we implemented a NumberNode and an AdditionNode. It’s time to implement the nodes for the other three basic operations. The tests are: CASE("SubtractionNode") { NumberNode n1(1), n2(2); SubtractionNode node(n1, n2); EXPECT("1 - 2" == node.