Exemple #1
0
    void printOperatorExpression(Expr* expr, uintmax_t numIndent) {
        if (expr == NULL) {
            inprint("null", numIndent);
            return;
        }

        switch (expr->op_type) {
        case Expr::SIMPLE_OP:
            inprintC(expr->op_char, numIndent);
            break;
        case Expr::AND:
            inprint("AND", numIndent);
            break;
        case Expr::OR:
            inprint("OR", numIndent);
            break;
        case Expr::NOT:
            inprint("NOT", numIndent);
            break;
        default:
            inprintU(expr->op_type, numIndent);
            break;
        }
        printExpression(expr->expr, numIndent+1);
        if (expr->expr2 != NULL) printExpression(expr->expr2, numIndent+1);
    }
Exemple #2
0
    void printSelectStatementInfo(SelectStatement* stmt, uintmax_t numIndent) {
        inprint("SelectStatement", numIndent);
        inprint("Fields:", numIndent+1);
        for (Expr* expr : *stmt->selectList) printExpression(expr, numIndent+2);

        inprint("Sources:", numIndent+1);
        printTableRefInfo(stmt->fromTable, numIndent+2);

        if (stmt->whereClause != NULL) {
            inprint("Search Conditions:", numIndent+1);
            printExpression(stmt->whereClause, numIndent+2);
        }


        if (stmt->unionSelect != NULL) {
            inprint("Union:", numIndent+1);
            printSelectStatementInfo(stmt->unionSelect, numIndent+2);
        }

        if (stmt->order != NULL) {
            inprint("OrderBy:", numIndent+1);
            printExpression(stmt->order->expr, numIndent+2);
            if (stmt->order->type == kOrderAsc) inprint("ascending", numIndent+2);
            else inprint("descending", numIndent+2);
        }

        if (stmt->limit != NULL) {
            inprint("Limit:", numIndent+1);
            inprint(stmt->limit->limit, numIndent+2);
        }
    }
Exemple #3
0
 void printExpression(Expr* expr, uintmax_t numIndent) {
     switch (expr->type) {
     case kExprStar:
         inprint("*", numIndent);
         break;
     case kExprColumnRef:
         inprint(expr->name, numIndent);
         break;
     // case kExprTableColumnRef: inprint(expr->table, expr->name, numIndent); break;
     case kExprLiteralFloat:
         inprint(expr->fval, numIndent);
         break;
     case kExprLiteralInt:
         inprint(expr->ival, numIndent);
         break;
     case kExprLiteralString:
         inprint(expr->name, numIndent);
         break;
     case kExprFunctionRef:
         inprint(expr->name, numIndent);
         inprint(expr->expr->name, numIndent+1);
         break;
     case kExprOperator:
         printOperatorExpression(expr, numIndent);
         break;
     default:
         fprintf(stderr, "Unrecognized expression type %d\n", expr->type);
         return;
     }
     if (expr->alias != NULL) {
         inprint("Alias", numIndent+1);
         inprint(expr->alias, numIndent+2);
     }
 }
Exemple #4
0
void inprint(node *tree,int print[])
{
	if(tree!=NULL)
	{
		inprint(tree->left,print);
		print[hh]=tree->data;
		hh++;
		//		printf("%d ",tree->data);
		inprint(tree->right,print);
	}
	return;
}
Exemple #5
0
void inprint(struct BT *root)
	{
		if(root)
			{
				inprint(root->l);
				printf("[%d]\t",root->data);
				inprint(root->r);
					
			
			
			}
	
	
	}	
Exemple #6
0
main()
	{
		int pre[]={3,5,2,6,7,1,4};
		
		int in[]={1,2,3,4,5,6,7};
		
		struct BT *rt;
		
		
		int n=sizeof(pre)/sizeof(pre[0]);
		printf("%d",n);
		rt=built(in,pre,0,n-1);
		
		printf("\n\n");
		inprint(rt);
		
		printf("\n\n");
		
		preprint(rt);
		printf("\n\n");
		
		//struct BT *rt1=builtBT(pre,in,0,n-1);
		//inprint(rt1);
		
		//printf("\n\n");
		
		//preprint(rt1);
		//printf("\n\n");
		
	}	
Exemple #7
0
//void del(node *tree,int num);
int main()
{
	int test,c=0;
	//scanf("%d",&test);
	int n,z=0,numb;
	node *tree;
	tree=NULL;

	scanf("%d",&n);
int print[n];
int a[n+1],b[n+1];
	while(z<n)
	{

		scanf("%d",&b[z]);
		z++;
	}
	z=0;
	while(z<n)
	{
		scanf("%d",&a[z]);

		z++;
	}
	x=n;
	tree=insert(tree,0,n-1,0,n-1,b,a);
	scanf("%d",&numb);
	while(tree->data!=numb)
	{
		tree=rotate(tree,numb);
	}
	inprint(tree,print);
	for(z=0;z<hh-1;z++)
	{printf("%d ",print[z]);
	}
	printf("%d\n",print[hh-1]);
	hh=0;
	preprint(tree,print);
	for(z=0;z<hh-1;z++)
	{printf("%d ",print[z]);
	}
	printf("%d\n",print[hh-1]);
	hh=0;

	postprint(tree,print);
	for(z=0;z<hh-1;z++)
	{printf("%d ",print[z]);
	}
	printf("%d\n",print[hh-1]);
	hh=0;

	/*for(i=0;i<j;i++)
	  {
	  printf("%d\n",a[i]);
	  printf("%d\n",b[i]);
	  }*/
	return 0;
}
Exemple #8
0
 void printTableRefInfo(TableRef* table, uintmax_t numIndent) {
     switch (table->type) {
     case kTableName:
         inprint(table->name, numIndent);
         break;
     case kTableSelect:
         printSelectStatementInfo(table->select, numIndent);
         break;
     case kTableJoin:
         inprint("Join Table", numIndent);
         inprint("Left", numIndent+1);
         printTableRefInfo(table->join->left, numIndent+2);
         inprint("Right", numIndent+1);
         printTableRefInfo(table->join->right, numIndent+2);
         inprint("Join Condition", numIndent+1);
         printExpression(table->join->condition, numIndent+2);
         break;
     case kTableCrossProduct:
         for (TableRef* tbl : *table->list) printTableRefInfo(tbl, numIndent);
         break;
     }
     if (table->alias != NULL) {
         inprint("Alias", numIndent+1);
         inprint(table->alias, numIndent+2);
     }
 }
Exemple #9
0
int main( int argc, char* args[] ) 
{
	SDL_Surface *screen; 

	Uint32 width = 640;
	Uint32 height = 480;
	Uint32 bpp = 32;
	Uint32 flags = SDL_HWSURFACE;

	int i; for (i = 1; i < argc; i++) if (!strcasecmp("--fullscreen", args[i])) flags |= SDL_FULLSCREEN;

	if (SDL_Init(SDL_INIT_VIDEO) < 0) {
		fprintf(stderr, "Video initialization failed: %s\n", SDL_GetError());
		exit(-1);
	}

	if ((screen = SDL_SetVideoMode(width, height, bpp, flags)) == 0) {
		fprintf(stderr, "Video mode set failed: %s\n", SDL_GetError());
       	exit(-1);
	}

	SDL_FillRect(screen, NULL, 0x333333);

	prepare_inline_font();
	
/*	infont(SDL_LoadBMP("fonts/oddball6x8.bmp")); */

	incolor(0xFF0000, 0x333333);

	inprint(screen, "Hello World!", 10, 10);

	incolor(0x000000, 0xFFFFFF);

	inprint(screen, "A QUICK BROWN FOX JUMPS OVER A LAZY DOG!", 10, 30);
	inprint(screen, "a quick brown fox jumps over a lazy dog?", 10, 60);
	inprint(screen, "`'.,:;0123456789{}()[]|\\/-+*=!@#$%^&", 10, 90);

	/* Wait for a while */
	for (i = 1000; i > 20; i--) { SDL_Flip(screen); SDL_Delay(10); }

	kill_inline_font();

	SDL_Quit(); 
	return 0; 
}
Exemple #10
0
 void printInsertStatementInfo(InsertStatement* stmt, uintmax_t numIndent) {
     inprint("InsertStatment", numIndent);
     inprint(stmt->tableName, numIndent+1);
     if (stmt->columns != NULL) {
         inprint("Columns", numIndent+1);
         for (char* col_name : *stmt->columns) {
             inprint(col_name, numIndent+2);
         }
     }
     switch (stmt->type) {
     case InsertStatement::kInsertValues:
         inprint("Values", numIndent+1);
         for (Expr* expr : *stmt->values) {
             printExpression(expr, numIndent+2);
         }
         break;
     case InsertStatement::kInsertSelect:
         printSelectStatementInfo(stmt->select, numIndent+1);
         break;
     }
 }
Exemple #11
0
 void printCreateStatementInfo(CreateStatement* stmt, uintmax_t numIndent) {
     inprint("CreateStatment", numIndent);
     inprint(stmt->tableName, numIndent+1);
     inprint(stmt->filePath, numIndent+1);
 }
Exemple #12
0
void printCreateStatementInfo(CreateStatement* stmt, uint num_indent) {
  inprint("CreateStatment", num_indent);
  inprint(stmt->table_name, num_indent+1);
  inprint(stmt->file_path, num_indent+1);
}
Exemple #13
0
void printImportStatementInfo(ImportStatement* stmt, uint num_indent) {
  inprint("ImportStatment", num_indent);
  inprint(stmt->file_path, num_indent+1);
  inprint(stmt->table_name, num_indent+1);
}