--- capa/capa51/pProj/capaUnit.c 2000/09/20 17:20:33 1.10 +++ capa/capa51/pProj/capaUnit.c 2023/08/04 18:09:55 1.14 @@ -727,22 +727,24 @@ process_op(int op) } } -void +Unit_t* process_utree(Unit_t *t) { Ptopidx=0; postwalk_utree(t); if( Ptopidx == 1 ) { - /* printf("Correctly parsed!\n"); */ - printf("Unit:%s\n",Sbuf); + //fprintf(stderr,"Correctly parsed!\n"); + //fprintf(stderr,"Unit:%s\n",Sbuf); simplify_unit(Pstack[Ptopidx]); - Pstack[Ptopidx]->u_symbol[0]='\0'; - /*sprintf(Pstack[Ptopidx]->u_symbol,"");*/ - print_unit_t(Pstack[Ptopidx]); - u_find_name(Pstack[Ptopidx]); - print_matches(Pstack[Ptopidx]); - free_utree(t); + //Pstack[Ptopidx]->u_symbol[0]='\0'; + //fprintf(stderr,Pstack[Ptopidx]->u_symbol,""); + //print_unit_t(Pstack[Ptopidx]); + //u_find_name(Pstack[Ptopidx]); + //print_matches(Pstack[Ptopidx]); + return(Pstack[Ptopidx]); + //free_utree(t); } + return(t); } /* ============================================================== */ @@ -781,17 +783,17 @@ int check_correct_unit(char *u_symb,Uni (Pstack[Ptopidx]->u_count == t->u_count) ) { /* has unit */ *scale = units_ratio(Pstack[Ptopidx], t); if( *scale == 0.0 ) { - result = UNIT_FAIL; + result = UNIT_IRRECONCIBLE; } free_utree(ap); } else { - result = UNIT_FAIL; + result = UNIT_INVALID_STUDENT3; } } else { /* invalid unit representation */ - result = UNIT_FAIL; + result = UNIT_INVALID_STUDENT2; } } else { - result = UNIT_FAIL; + result = UNIT_INVALID_STUDENT1; } #ifdef UNIT_DBUG fclose(ufp); @@ -912,7 +914,6 @@ u_copy_unit(Unit_t *a_p, Unit_t *b_p, do a_p->u_count++; } else if( b_p->u_type == U_DERIVED) { /* derived units but without any units elements (scalar) */ - /* do nothing, ignore this units WE REALLY MEAN THIS DON'T DO THE NEXT LINE!*/ /*a_p->u_count++;*/ scale = pow(b_p->u_scale, exp_scale); a_p->u_scale = a_p->u_scale * scale;