Пример #1
0
/*-----------------------------------------------
 | printtabs
 +---------------------------------------------*/
void printtabs(struct symtabl *curr_symtab)
{
    if(curr_symtab != NULL)
    {
        print_symtab(curr_symtab);
	print_symtab(curr_symtab->labels);
        printtabs(curr_symtab->rsibling);
        printtabs(curr_symtab->child);
    }
}
Пример #2
0
static void pretty_print_block(lexeme tree) {
	lexeme next = get_left(tree);
	lexeme_destroy(tree);
	printf("{\n");
	tabcount++;
	printtabs();
	if (next != NULL) {
		pretty_print(next);
	}
	tabcount--;
	printtabs();
	printf("}");
}
Пример #3
0
static void pretty_print_unitlist(lexeme tree) {
	lexeme current = get_left(tree);
	lexeme next = get_right(tree);
	lexeme_destroy(tree);
	pretty_print(current);
	printf(";\n");
	if (lexeme_get_type(next) != NIL) {
		printtabs();
		pretty_print(next);
	}
}
Пример #4
0
void printtree_rec(t_graphnode *graph, int x)
{
	if(!graph)
		return ;

	printtree_rec(graph->right,x+1);
	printtabs(x);
	switch(graph->type)
	{
		case DIGRAPH:
			fprintf(stdout,"DIGRAPH %s\n",graph->name);
			break;
		case GRAPH:
			fprintf(stdout,"GRAPH %s\n",graph->name);
			break;
		case SUBGRAPH:
			fprintf(stdout,"SUBGRAPH %s\n",graph->name);
			break;
		case ID:
			fprintf(stdout,"ID %s\n",graph->name);
			break;
		case DID:
			fprintf(stdout,"DID %s %s %s\n",graph->name,graph->arrow,graph->value);
			break;
		case PROP:
			fprintf(stdout,"PROP %s = %s\n",graph->name,graph->value);
			break;
		case LIST:
			fprintf(stdout,"LIST\n");
			break;
		default:
			fprintf(stderr,"!!! UNKNOWN TREENODETYPE !!!\n");
			exit(EXIT_FAILURE);
	}
	printtree_rec(graph->left,x+1);
}