def parse_expr(): yield consume_whitespace() return (yield try_parsers(parse_op_mul(), parse_op_add(), parse_paren(), parse_int()))
def parse_paren_or_int(): yield consume_whitespace() return (yield try_parsers(parse_paren(), parse_int()))