Consider an expression like:
std::cout << "Hello, world." << std::endl
operator << is left-associative, so you want to end up with:
You create semels from top to bottom: