static int mk_choice(lua_State * L) { check_atleast_num_args(L, 1); int nargs = lua_gettop(L); buffer<expr> args; for (int i = 1; i <= nargs; i++) args.push_back(to_expr(L, i)); return push_expr(L, mk_choice(args.size(), args.data())); }
void initialize_choice() { g_choice_name = new name("choice"); g_choice_opcode = new std::string("Choice"); g_choice = new macro_definition(new choice_macro_cell()); register_macro_deserializer(*g_choice_opcode, [](deserializer &, unsigned num, expr const * args) { return mk_choice(num, args); }); }
format * mk_group(ast_manager & m, format * f) { return mk_choice(m, flat(m, f), f); }