void expr_list(void) { /* <expr_list> -> <expression> #write_expr * {, <expression> #write_expr} */ expr_rec out_expr; expression(&out_expr); write_expr(out_expr); while (next_token() == COMMA) { match(COMMA); expression(&out_expr); write_expr(out_expr); } }