What wrong with the frist line? : I am reading the Bjarne Stroustrup's book. This book is very abstract for me. May be the English is not my first language. The book says expression() will never get beyong its first line: Expression()stars by calling expression()which starts by calling expression() and so on "forever". Is the the double expression() calling the double left = expression(); forever? How is work?
Thanks.

    double expression()
	{
		double left = expression();
		Token t = get_token();
		swich(t.kind) {
			case'+':
				return left + term();
			case'-':
				return left - term();
			default:
				return left;
		}
	}