int convert_line(t_kitten *kitten) { unsigned char tmp; unsigned char *label; int i; //printf("convert line %d: %s\n", kitten->line_nbr, kitten->line); get_label(kitten); if (kitten->line[kitten->i] && (tmp = get_mnemonique(kitten)) != 0) kitten->hex[kitten->offset++] = tmp; if (kitten->line[kitten->i] && tmp == 0) print_error(2, kitten); label = get_arg_types(kitten); i = 0; int j; while (label[i]) { //j = 7; printf("%#.2x,", kitten->hex[kitten->offset] = label[i++]); //while (j >= 0) //printf("%d", (kitten->hex[kitten->offset] & (1 << j--)) ? 1 : 0); kitten->offset++; //printf("\n"); } free(label); while (kitten->line[kitten->i]) { j = 0; label = get_arg_value(kitten); while (j < kitten->arg_size) printf("%#.2x,", label[j++]); printf("\n"); } return (0); }
format overload_exception::pp(formatter const & fmt, options const & opts) const { context const & ctx = get_context(); format r; r += format{format(what()), line(), format("Candidates:")}; r += ::lean::pp(fmt, ctx, get_fs(), get_f_types(), opts); r += format{line(), format("Arguments:")}; r += ::lean::pp(fmt, ctx, get_args(), get_arg_types(), opts); return r; }
void compile_all(ExpressionList *expr_list) { try { for (int i = 0; i < expr_list->size(); ++i) { // compile((*expr_list)[i]); Expression *expr = (*expr_list)[i]; if (expr->t == Expression::ASSIGN) { cout << "this is an assign, let's see what its args are" << endl; vector<Expression::Type> types = get_arg_types(expr->right_hand); for (int i = 0; i < types.size(); ++i) { cout << "Type " << i << ": " << types[i] << endl; } } cout << "ret type of that expression is " << get_ret_type(expr) << endl; } } catch (string s) { cout << s << endl; } }