static void remove_obj(uint16_t object) { uint16_t parent = PARENT(object); if(parent != 0) { uint16_t child = CHILD(parent); /* Direct child */ if(child == object) { /* parent->child = parent->child->sibling */ SET_CHILD(parent, SIBLING(child)); } else { while(SIBLING(child) != object) { /* child = child->sibling */ child = SIBLING(child); } /* Now the sibling of child is the object to remove. */ /* child->sibling = child->sibling->sibling */ SET_SIBLING(child, SIBLING(SIBLING(child))); } /* object->parent = 0 */ SET_PARENT(object, 0); /* object->sibling = 0 */ SET_SIBLING(object, 0); } }
/*=================================================* * create_node allocates enough space for the node * *=================================================*/ NODE *create_node() { NODE *ndp=(NODE *)malloc(sizeof(NODE)); if(ndp==NULL) fatal_error("no more room for NODE"); PARENT(ndp)=NULL; SIBLING(ndp)=NULL; CHILD(ndp)=NULL; INFO(ndp)=create_data_info(); LEVEL(ndp)=0; return(ndp); }
static void mark_parent(struct mem_pool * pool, unsigned index) { static const unsigned char map[3][3] = { { FREE, PARTIAL, PARTIAL }, { PARTIAL, PARTIAL, PARTIAL }, { PARTIAL, PARTIAL, FULL } }; for(;;) { if (index == 0) break; struct node * pn = &pool->nl[PARENT(index)]; struct node * sn = &pool->nl[SIBLING(index)]; struct node * in = &pool->nl[index]; pn->status = map[sn->status][in->status]; index = PARENT(index); } }
void smBallSearch(SMX smx,float fBall2,float *ri) { KDN *c; PARTICLE *p; int cell,cp,ct,pj; float fDist2,dx,dy,dz,lx,ly,lz,sx,sy,sz,x,y,z; PQ *pq; c = smx->kd->kdNodes; p = smx->kd->p; pq = smx->pqHead; x = ri[0]; y = ri[1]; z = ri[2]; lx = smx->fPeriod[0]; ly = smx->fPeriod[1]; lz = smx->fPeriod[2]; cell = ROOT; /* ** First find the "local" Bucket. ** This could mearly be the closest bucket to ri[3]. */ while (cell < smx->kd->nSplit) { if (ri[c[cell].iDim] < c[cell].fSplit) cell = LOWER(cell); else cell = UPPER(cell); } /* ** Now start the search from the bucket given by cell! */ for (pj=c[cell].pLower;pj<=c[cell].pUpper;++pj) { dx = x - p[pj].r[0]; dy = y - p[pj].r[1]; dz = z - p[pj].r[2]; fDist2 = dx*dx + dy*dy + dz*dz; if (fDist2 < fBall2) { if (smx->iMark[pj]) continue; smx->iMark[pq->p] = 0; smx->iMark[pj] = 1; pq->fKey = fDist2; pq->p = pj; pq->ax = 0.0; pq->ay = 0.0; pq->az = 0.0; PQ_REPLACE(pq); fBall2 = pq->fKey; } } while (cell != ROOT) { cp = SIBLING(cell); ct = cp; SETNEXT(ct); while (1) { INTERSECT(c,cp,fBall2,lx,ly,lz,x,y,z,sx,sy,sz); /* ** We have an intersection to test. */ if (cp < smx->kd->nSplit) { cp = LOWER(cp); continue; } else { for (pj=c[cp].pLower;pj<=c[cp].pUpper;++pj) { dx = sx - p[pj].r[0]; dy = sy - p[pj].r[1]; dz = sz - p[pj].r[2]; fDist2 = dx*dx + dy*dy + dz*dz; if (fDist2 < fBall2) { if (smx->iMark[pj]) continue; smx->iMark[pq->p] = 0; smx->iMark[pj] = 1; pq->fKey = fDist2; pq->p = pj; pq->ax = sx - x; pq->ay = sy - y; pq->az = sz - z; PQ_REPLACE(pq); fBall2 = pq->fKey; } } } GetNextCell: SETNEXT(cp); if (cp == ct) break; } cell = PARENT(cell); } smx->pqHead = pq; }
static void bst_remove_repair(bst *t, bstnode *n) { bstnode *sib; /* case 1: n is root */ if (!n->parent) return; sib = SIBLING(n); /* case 2: n's sibling is red */ if (IS_RED(sib)) { n->parent->color = RED; sib->color = BLACK; if (IS_LEFT_CHILD(n)) bst_rotate_left(t, n->parent); else bst_rotate_right(t, n->parent); sib = SIBLING(n); } /* case 3: parent sib and sib's children are black */ if (n->parent->color == BLACK && sib->color == BLACK && IS_BLACK(sib->left) && IS_BLACK(sib->right)) { sib->color = RED; bst_remove_repair(t, n->parent); return; } /* case 4: parent is red, sib and sib's children are black */ if (n->parent->color == RED && sib->color == BLACK && IS_BLACK(sib->left) && IS_BLACK(sib->right)) { sib->color = RED; n->parent->color = BLACK; return; } /* case 5: a) n is left child, sib and sib->right child are black, sib->left is red b) n is right child, sib and sib->left child are black, sib->right is red */ if (IS_LEFT_CHILD(n) && sib->color == BLACK && IS_RED(sib->left) && IS_BLACK(sib->right)) { sib->color = RED; sib->left->color = BLACK; bst_rotate_right(t, sib); sib = SIBLING(n); } else if (IS_RIGHT_CHILD(n) && sib->color == BLACK && IS_RED(sib->right) && IS_BLACK(sib->left)) { sib->color = RED; sib->right->color = BLACK; bst_rotate_left(t, sib); sib = SIBLING(n); } /* case 6: */ sib->color = n->parent->color; n->parent->color = BLACK; if (IS_LEFT_CHILD(n)) { sib->right->color = BLACK; bst_rotate_left(t, n->parent); } else { sib->left->color = BLACK; bst_rotate_right(t, n->parent); } }
void main(){ FILE *infile,*outfile; NODE *current,*first_01; TOKEN *token,t; STACKBYARRAY *stack=create_stack_by_array(50); SYMTAB_ENTRY **symtab=create_symbol_table_array(SYMTAB_ARRAY_SIZE); int unique_no=1; int hashval=0; int number_of; char *pointer,*pointer2,count_string[20]; int alfeof=0; int g2_001_FORMAT_OR_STOP_A; int g3_001_LEVEL_NUMBER_A; int g5_001_NINE_SUBTREE_A; int g6_001_X_SUBTREE_A; int g4_001_FORMAT_SUBTREE_A; /**************************************************************************/ /**************************************************************************/ /******************** DRIVING PROCEDURE B:\SYMCOB *********************/ /**************************************************************************/ PROCEDURE_DIVISION: /**/ C1_001_GENERATE_SYMBOL: goto C1_002_SYMBOL_START; C1_002_SYMBOL_START_EX: goto C1_003_BEFORE_WORKING; C1_003_BEFORE_WORKING_EX: goto C1_005_SECTION; C1_005_SECTION_EX: goto C1_006_WORKING_STORAGE; C1_006_WORKING_STORAGE_EX: goto C1_021_END; C1_021_END_EX: goto veryend; /**/ C1_002_SYMBOL_START: /*001*/ infile=open_input("b:testout2.dat"); outfile=open_output("b:symtable.out"); token=&t; /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); goto C1_002_SYMBOL_START_EX; /**/ C1_003_BEFORE_WORKING: C1_004_JUST_DATA_EX: if(!( /*C01*/ (token->value.keyword_number==WORKING_STORAGE) )) goto C1_004_JUST_DATA; goto C1_003_BEFORE_WORKING_EX; /**/ C1_004_JUST_DATA: /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); goto C1_004_JUST_DATA_EX; /**/ C1_005_SECTION: /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); goto C1_005_SECTION_EX; /**/ C1_006_WORKING_STORAGE: goto C1_007_FIRST_01; C1_007_FIRST_01_EX: goto C1_012_REST; C1_012_REST_EX: goto C1_006_WORKING_STORAGE_EX; /**/ C1_007_FIRST_01: goto C1_008_NUM; C1_008_NUM_EX: goto C1_009_VARIABLE_NAME; C1_009_VARIABLE_NAME_EX: goto C1_010_FORMAT_OR_STOP; C1_010_FORMAT_OR_STOP_EX: goto C1_011_END_LEVEL; C1_011_END_LEVEL_EX: goto C1_007_FIRST_01_EX; /**/ C1_008_NUM: /*003*/ current=create_node(); current->level=str_to_int(token->value.string); /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); goto C1_008_NUM_EX; /**/ C1_009_VARIABLE_NAME: /*007*/ NAME(current)=token->value.string; /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); /*012*/ hashval=hash(NAME(current))%SYMTAB_ARRAY_SIZE; current->own.hash=hashval; add_node_to_sym(current,hashval,symtab); goto C1_009_VARIABLE_NAME_EX; /**/ C1_010_FORMAT_OR_STOP: g2_001_FORMAT_OR_STOP_A=0; goto C2_001_FORMAT_OR_STOP; C2_001_EXIT01: goto C1_010_FORMAT_OR_STOP_EX; /**/ C1_011_END_LEVEL: /*011*/ PARENT(current)=NULL; first_01=current; /*010*/ stackpush(stack,current); /*013*/ current->own.unique=unique_no; unique_no++; goto C1_011_END_LEVEL_EX; /**/ C1_012_REST: C1_013_LEVEL_EX: if(!( /*C02*/ (alfeof==1) )) goto C1_013_LEVEL; goto C1_012_REST_EX; /**/ C1_013_LEVEL: goto C1_014_LEVEL_NUMBER; C1_014_LEVEL_NUMBER_EX: goto C1_015_VARIABLE_NAME; C1_015_VARIABLE_NAME_EX: goto C1_016_FORMAT_OR_STOP; C1_016_FORMAT_OR_STOP_EX: goto C1_017_END_LEVEL; C1_017_END_LEVEL_EX: goto C1_013_LEVEL_EX; /**/ C1_014_LEVEL_NUMBER: g3_001_LEVEL_NUMBER_A=0; goto C3_001_LEVEL_NUMBER; C3_001_EXIT01: goto C1_014_LEVEL_NUMBER_EX; /**/ C1_015_VARIABLE_NAME: /*007*/ NAME(current)=token->value.string; /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); /*012*/ hashval=hash(NAME(current))%SYMTAB_ARRAY_SIZE; current->own.hash=hashval; add_node_to_sym(current,hashval,symtab); goto C1_015_VARIABLE_NAME_EX; /**/ C1_016_FORMAT_OR_STOP: g2_001_FORMAT_OR_STOP_A=1; goto C2_001_FORMAT_OR_STOP; C2_001_EXIT02: goto C1_016_FORMAT_OR_STOP_EX; /**/ C1_017_END_LEVEL: goto C1_018_POSS_OVERWRITE; C1_018_POSS_OVERWRITE_EX: goto C1_020_END; C1_020_END_EX: goto C1_017_END_LEVEL_EX; /**/ C1_018_POSS_OVERWRITE: if(( /*C04*/ (current->level==stacktop(stack)->level) )) goto C1_019_OVERWRITE; C1_019_OVERWRITE_EX: goto C1_018_POSS_OVERWRITE_EX; /**/ C1_019_OVERWRITE: /*005*/ stackpop(stack); goto C1_019_OVERWRITE_EX; /**/ C1_020_END: /*010*/ stackpush(stack,current); /*013*/ current->own.unique=unique_no; unique_no++; goto C1_020_END_EX; /**/ C1_021_END: /*014*/ close_file(infile); save_nodes(symtab,outfile); close_file(outfile); goto C1_021_END_EX; /**/ C4_001_FORMAT_SUBTREE: goto C4_002_PICTURE; C4_002_PICTURE_EX: goto C4_003_LIMITED; C4_003_LIMITED_EX: goto C4_010_FULLSTOP; C4_010_FULLSTOP_EX: C4_001_FORMAT_SUBTREE_A: switch(g4_001_FORMAT_SUBTREE_A){ case 0 : goto C4_001_EXIT02;break; } /**/ C4_002_PICTURE: /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); /*016*/ pointer=token->value.string; /*008*/ current->info->type=VARIABLE; goto C4_002_PICTURE_EX; /**/ C4_003_LIMITED: if(( /*C08*/ (*pointer=='9') )) goto C4_004_NINE; if(!( /*C08*/ (*pointer=='9') )) goto C4_007_X; C4_004_NINE_EX: C4_007_X_EX: goto C4_003_LIMITED_EX; /**/ C4_004_NINE: goto C4_005_NINE_START; C4_005_NINE_START_EX: goto C4_006_NINE_SUBTREE; C4_006_NINE_SUBTREE_EX: goto C4_004_NINE_EX; /**/ C4_005_NINE_START: /*022*/ current->info->type=INT; /*015*/ number_of=0; /*017*/ pointer++; goto C4_005_NINE_START_EX; /**/ C4_006_NINE_SUBTREE: g5_001_NINE_SUBTREE_A=0; goto C5_001_NINE_SUBTREE; C5_001_EXIT01: goto C4_006_NINE_SUBTREE_EX; /**/ C4_007_X: goto C4_008_X_START; C4_008_X_START_EX: goto C4_009_X_SUBTREE; C4_009_X_SUBTREE_EX: goto C4_007_X_EX; /**/ C4_008_X_START: /*023*/ current->info->type=CHAR; /*015*/ number_of=0; /*017*/ pointer++; goto C4_008_X_START_EX; /**/ C4_009_X_SUBTREE: g6_001_X_SUBTREE_A=0; goto C6_001_X_SUBTREE; C6_001_EXIT01: goto C4_009_X_SUBTREE_EX; /**/ C4_010_FULLSTOP: goto C4_010_FULLSTOP_EX; /**/ C3_001_LEVEL_NUMBER: goto C3_002_NUMBER_START; C3_002_NUMBER_START_EX: goto C3_003_NUMBER_BODY; C3_003_NUMBER_BODY_EX: goto C3_011_NUMBER_END; C3_011_NUMBER_END_EX: C3_001_LEVEL_NUMBER_A: switch(g3_001_LEVEL_NUMBER_A){ case 0 : goto C3_001_EXIT01;break; } /**/ C3_002_NUMBER_START: /*003*/ current=create_node(); current->level=str_to_int(token->value.string); goto C3_002_NUMBER_START_EX; /**/ C3_003_NUMBER_BODY: if(( /*C03*/ (current->level > stacktop(stack)->level) )) goto C3_004_FURTHER_DOWN; if(( /*C05*/ (current->level < stacktop(stack)->level) )) goto C3_005_BACK_UP; if(( /*C04*/ (current->level==stacktop(stack)->level) )) goto C3_010_SAME; C3_004_FURTHER_DOWN_EX: C3_005_BACK_UP_EX: C3_010_SAME_EX: goto C3_003_NUMBER_BODY_EX; /**/ C3_004_FURTHER_DOWN: /*004*/ PARENT(current)=stacktop(stack); CHILD(stacktop(stack))=current; goto C3_004_FURTHER_DOWN_EX; /**/ C3_005_BACK_UP: goto C3_006_BUS; C3_006_BUS_EX: goto C3_007_BUB; C3_007_BUB_EX: goto C3_009_BUE; C3_009_BUE_EX: goto C3_005_BACK_UP_EX; /**/ C3_006_BUS: goto C3_006_BUS_EX; /**/ C3_007_BUB: C3_008_LEVEL_EX: if(!( /*C04*/ (current->level==stacktop(stack)->level) )) goto C3_008_LEVEL; goto C3_007_BUB_EX; /**/ C3_008_LEVEL: /*005*/ stackpop(stack); goto C3_008_LEVEL_EX; /**/ C3_009_BUE: /*006*/ SIBLING(stacktop(stack))=current; PARENT(current)=PARENT(stacktop(stack)); goto C3_009_BUE_EX; /**/ C3_010_SAME: /*006*/ SIBLING(stacktop(stack))=current; PARENT(current)=PARENT(stacktop(stack)); goto C3_010_SAME_EX; /**/ C3_011_NUMBER_END: /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); goto C3_011_NUMBER_END_EX; /**/ C2_001_FORMAT_OR_STOP: goto C2_002_POSS_FORMAT; C2_002_POSS_FORMAT_EX: goto C2_006_NEXT; C2_006_NEXT_EX: C2_001_FORMAT_OR_STOP_A: switch(g2_001_FORMAT_OR_STOP_A){ case 0 : goto C2_001_EXIT01;break; case 1 : goto C2_001_EXIT02;break; } /**/ C2_002_POSS_FORMAT: if(!( /*C06*/ (token->token_type==FULLSTOP) )) goto C2_003_FORMAT; if(( /*C06*/ (token->token_type==FULLSTOP) )) goto C2_005_FULLSTOP; C2_003_FORMAT_EX: C2_005_FULLSTOP_EX: goto C2_002_POSS_FORMAT_EX; /**/ C2_003_FORMAT: goto C2_004_FORMAT_SUBTREE; C2_004_FORMAT_SUBTREE_EX: goto C2_003_FORMAT_EX; /**/ C2_004_FORMAT_SUBTREE: g4_001_FORMAT_SUBTREE_A=0; goto C4_001_FORMAT_SUBTREE; C4_001_EXIT02: goto C2_004_FORMAT_SUBTREE_EX; /**/ C2_005_FULLSTOP: /*009*/ current->info->type=QUALIFIER; goto C2_005_FULLSTOP_EX; /**/ C2_006_NEXT: /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); goto C2_006_NEXT_EX; /**/ C5_001_NINE_SUBTREE: goto C5_002_NINE_BODY; C5_002_NINE_BODY_EX: C5_001_NINE_SUBTREE_A: switch(g5_001_NINE_SUBTREE_A){ case 0 : goto C5_001_EXIT01;break; } /**/ C5_002_NINE_BODY: C5_003_NINE_CHAR_EX: if(!( /*C06*/ (token->token_type==FULLSTOP) )) goto C5_003_NINE_CHAR; goto C5_002_NINE_BODY_EX; /**/ C5_003_NINE_CHAR: goto C5_004_PIECES; C5_004_PIECES_EX: goto C5_017_END; C5_017_END_EX: goto C5_003_NINE_CHAR_EX; /**/ C5_004_PIECES: if(( /*C10*/ (token->token_type==OPEN_BRACE) )) goto C5_005_BRACE_N9; if(( /*C08*/ (*pointer=='9') )) goto C5_012_ONLY_9; C5_005_BRACE_N9_EX: C5_012_ONLY_9_EX: goto C5_004_PIECES_EX; /**/ C5_005_BRACE_N9: goto C5_006_OPEN_BRACE; C5_006_OPEN_BRACE_EX: goto C5_007_N9; C5_007_N9_EX: goto C5_011_CLOSE_BRAC_E; C5_011_CLOSE_BRAC_E_EX: goto C5_005_BRACE_N9_EX; /**/ C5_006_OPEN_BRACE: /*020*/ pointer2=count_string; /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); /*016*/ pointer=token->value.string; goto C5_006_OPEN_BRACE_EX; /**/ C5_007_N9: goto C5_008_NUM_CHARS; C5_008_NUM_CHARS_EX: goto C5_010_NUM_END; C5_010_NUM_END_EX: goto C5_007_N9_EX; /**/ C5_008_NUM_CHARS: C5_009_NUM_CHAR_EX: if(!( /*C07*/ (*pointer=='\0') )) goto C5_009_NUM_CHAR; goto C5_008_NUM_CHARS_EX; /**/ C5_009_NUM_CHAR: /*019*/ *pointer2=*pointer; pointer++; pointer2++; goto C5_009_NUM_CHAR_EX; /**/ C5_010_NUM_END: /*021*/ *pointer2='\0'; number_of+=str_to_int(count_string); /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); goto C5_010_NUM_END_EX; /**/ C5_011_CLOSE_BRAC_E: /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); goto C5_011_CLOSE_BRAC_E_EX; /**/ C5_012_ONLY_9: goto C5_013_ONLY9START; C5_013_ONLY9START_EX: goto C5_014_ONLY9BODY; C5_014_ONLY9BODY_EX: goto C5_016_ONLY_NINE_END; C5_016_ONLY_NINE_END_EX: goto C5_012_ONLY_9_EX; /**/ C5_013_ONLY9START: /*018*/ number_of++; goto C5_013_ONLY9START_EX; /**/ C5_014_ONLY9BODY: C5_015_NINE_EX: if(!( /*C07*/ (*pointer=='\0') )) goto C5_015_NINE; goto C5_014_ONLY9BODY_EX; /**/ C5_015_NINE: /*018*/ number_of++; /*017*/ pointer++; /*026*/ current->info->data_c=NULL; current->info->data_n=0; goto C5_015_NINE_EX; /**/ C5_016_ONLY_NINE_END: /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); goto C5_016_ONLY_NINE_END_EX; /**/ C5_017_END: /*016*/ pointer=token->value.string; goto C5_017_END_EX; /**/ C6_001_X_SUBTREE: goto C6_002_X_BODY; C6_002_X_BODY_EX: C6_001_X_SUBTREE_A: switch(g6_001_X_SUBTREE_A){ case 0 : goto C6_001_EXIT01;break; } /**/ C6_002_X_BODY: C6_003_X_CHAR_EX: if(!( /*C06*/ (token->token_type==FULLSTOP) )) goto C6_003_X_CHAR; goto C6_002_X_BODY_EX; /**/ C6_003_X_CHAR: goto C6_004_PIECES; C6_004_PIECES_EX: goto C6_016_END; C6_016_END_EX: goto C6_003_X_CHAR_EX; /**/ C6_004_PIECES: if(( /*C10*/ (token->token_type==OPEN_BRACE) )) goto C6_005_BRACE_NX; if(( /*C09*/ (*pointer=='X') )) goto C6_012_ONLY_X; C6_005_BRACE_NX_EX: C6_012_ONLY_X_EX: goto C6_004_PIECES_EX; /**/ C6_005_BRACE_NX: goto C6_006_OPEN_BRACE; C6_006_OPEN_BRACE_EX: goto C6_007_NX; C6_007_NX_EX: goto C6_011_CLOSE_BRAC_E; C6_011_CLOSE_BRAC_E_EX: goto C6_005_BRACE_NX_EX; /**/ C6_006_OPEN_BRACE: /*020*/ pointer2=count_string; /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); /*016*/ pointer=token->value.string; goto C6_006_OPEN_BRACE_EX; /**/ C6_007_NX: goto C6_008_NUM_CHARS; C6_008_NUM_CHARS_EX: goto C6_010_NUM_END; C6_010_NUM_END_EX: goto C6_007_NX_EX; /**/ C6_008_NUM_CHARS: C6_009_NUM_CHAR_EX: if(!( /*C07*/ (*pointer=='\0') )) goto C6_009_NUM_CHAR; goto C6_008_NUM_CHARS_EX; /**/ C6_009_NUM_CHAR: /*019*/ *pointer2=*pointer; pointer++; pointer2++; goto C6_009_NUM_CHAR_EX; /**/ C6_010_NUM_END: /*021*/ *pointer2='\0'; number_of+=str_to_int(count_string); /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); goto C6_010_NUM_END_EX; /**/ C6_011_CLOSE_BRAC_E: /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); goto C6_011_CLOSE_BRAC_E_EX; /**/ C6_012_ONLY_X: goto C6_013_ONLYXBODY; C6_013_ONLYXBODY_EX: goto C6_015_ONLYXEND; C6_015_ONLYXEND_EX: goto C6_012_ONLY_X_EX; /**/ C6_013_ONLYXBODY: C6_014_X_EX: if(!( /*C07*/ (*pointer=='\0') )) goto C6_014_X; goto C6_013_ONLYXBODY_EX; /**/ C6_014_X: /*018*/ number_of++; /*017*/ pointer++; /*024*/ current->info->data_c=(char *)malloc(number_of+1); current->info->data_c[0]='\0'; /*025*/ current->info->data_n=number_of; goto C6_014_X_EX; /**/ C6_015_ONLYXEND: /*002*/ if(!feof(infile)) alfeof=get_token(infile,token); goto C6_015_ONLYXEND_EX; /**/ C6_016_END: /*016*/ pointer=token->value.string; goto C6_016_END_EX; /**/ /* Data Analysis Map*/ /**/ /* ------------- Data Analysis By -------------*/ /**/ /* BOX TYPE OPERATION ALLOCATION*/ /* Tree name: GENERATE-SYMBOL*/ /**/ /* Leaf : 10 Operations: 21*/ /* Quits : 0*/ /* Selections: 1*/ /* Sequences : 5*/ /* Iterations: 2*/ /* Backtracks: 0*/ /* Subtrees : 3 --> FORMAT_OR-STOP*/ /* LEVEL-NUMBER*/ /* FORMAT_OR-STOP*/ /**/ /* Tree name: FORMAT-SUBTREE*/ /**/ /* Leaf : 4 Operations: 9*/ /* Quits : 0*/ /* Selections: 1*/ /* Sequences : 3*/ /* Iterations: 0*/ /* Backtracks: 0*/ /* Subtrees : 2 --> NINE-SUBTREE*/ /* X_SUBTREE*/ /**/ /* Tree name: LEVEL-NUMBER*/ /**/ /* Leaf : 7 Operations: 6*/ /* Quits : 0*/ /* Selections: 1*/ /* Sequences : 2*/ /* Iterations: 1*/ /* Backtracks: 0*/ /* Subtrees : 0*/ /**/ /* Tree name: FORMAT_OR-STOP*/ /**/ /* Leaf : 2 Operations: 2*/ /* Quits : 0*/ /* Selections: 1*/ /* Sequences : 2*/ /* Iterations: 0*/ /* Backtracks: 0*/ /* Subtrees : 1 --> FORMAT-SUBTREE*/ /**/ /* Tree name: NINE-SUBTREE*/ /**/ /* Leaf : 8 Operations: 13*/ /* Quits : 0*/ /* Selections: 1*/ /* Sequences : 5*/ /* Iterations: 3*/ /* Backtracks: 0*/ /* Subtrees : 0*/ /**/ /* Tree name: X_SUBTREE*/ /**/ /* Leaf : 7 Operations: 13*/ /* Quits : 0*/ /* Selections: 1*/ /* Sequences : 5*/ /* Iterations: 3*/ /* Backtracks: 0*/ /* Subtrees : 0*/ /**/ /**/ /**/ veryend: ; }