Exemple #1
0
void type_print( struct type *t ){
	if(!t) return;
	switch(t->kind){
	case TYPE_BOOLEAN:
		printf("boolean");
		break;
	case TYPE_CHARACTER:
		printf("char");
		break;
	case TYPE_INTEGER:
		printf("integer");
		break;
	case TYPE_STRING:
		printf("string");
		break;
	case TYPE_ARRAY:
		printf("array [");
		expr_print(t->opt_expr);
		printf("] ");
		type_print(t->subtype);
		break;
	case TYPE_FUNCTION:
		printf("function ");
		type_print(t->subtype);
		printf("( ");
		param_list_print(t->params);
		printf(" )");
		break;
	case TYPE_VOID:
		printf("void");
		break;
	}
}
Exemple #2
0
void param_list_print(struct param_list *a) {
    if (!a) return;
    printf("%s: ", a->name);
    type_print(a->type);
    if (a->next) {
        printf(", ");
        param_list_print(a->next);
    }
}
Exemple #3
0
//recursively prints out a parameter list
void param_list_print(struct param_list *p){
	if(!p) return;
	printf("%s: ", p->name); 
	type_print(p->type);
	
	if(p->next){
		printf(", ");
		param_list_print(p->next);
	}
}
void param_list_print( struct param_list *a ){
    if (a != NULL){
        printf("%s: ",a->name);
        type_print(a->type);
        if (a->next != 0){
            printf(", "); 
            param_list_print(a->next);
        }
    }
}
Exemple #5
0
void type_print( struct type *t ) {
    if (t != NULL) {
        switch (t->kind){
            case (TYPE_BOOLEAN):
                printf("boolean");
                break;
            case (TYPE_CHARACTER):
                printf("char");
                break;
            case (TYPE_INTEGER):
                printf("integer");
                break;
            case (TYPE_STRING):
                printf("string");
                break;
            case (TYPE_ARRAY):
                printf("array ");
                struct expr *tmp =  malloc(sizeof(struct expr));
                tmp = t->expr;
                while (tmp != NULL){
                    printf("[");
                    expr_print(tmp);
                    printf("]");
                    tmp = tmp->next_array_dimension;
                }
                printf(" ");
                if (t->subtype != 0){ 
                    type_print(t->subtype);
                }
                break;
            case (TYPE_FUNCTION):
                printf("function ");
                type_print(t->subtype);
                printf(" (");
                if (t->params){ 
                    param_list_print(t->params);
                }
                printf(")");
                //indent += 1;
                break;
            case (TYPE_VOID):
                printf("void");
                break;
        }
    }
}