parse_term() { r = parse_factor(); if (get_token() == '*') r *= parse_factor(); else unget_token(); return r; } parse_expr() { r = parse_term(); if (get_token() == '+') r += parse_term(); else unget_token(); return r; }
Should make * have higher precedence than +, right?