Remove debug code (Day18 part 1, C)

This commit is contained in:
2021-07-19 18:09:27 +02:00
parent 493c5089b3
commit 0501335642
4 changed files with 18 additions and 61 deletions

8
OUTPUT
View File

@@ -414,8 +414,12 @@ ex2-c : res=1680
+++++++++++++++++ ex1 +++++++++++++++++ ex1
ex1.bash : res=650217205854 ex1.bash : res=650217205854
time: 0:01.76 real, 1.74 user, 0.01 sys time: 0:01.71 real, 1.70 user, 0.00 sys
context-switch: 5+1, page-faults: 0+188 context-switch: 39+1, page-faults: 0+191
ex1-c : res=650217205854
time: 0:00.00 real, 0.00 user, 0.00 sys
context-switch: 0+1, page-faults: 0+73
+++++++++++++++++ ex2 +++++++++++++++++ ex2
ex2.bash : res=20394514442037 ex2.bash : res=20394514442037

View File

@@ -15,9 +15,9 @@ output:
compile: ex1-c ex2-c compile: ex1-c ex2-c
ex1: ex1: ex1-c
@$(TIME) ex1.bash < $(INPUT) 2>&1 @$(TIME) ex1.bash < $(INPUT) 2>&1
@#$(TIME) ex1-c 2020 < $(INPUT) 2>&1 @$(TIME) ex1-c 2020 < $(INPUT) 2>&1
ex2: ex2:
@$(TIME) ex2.bash < $(INPUT) 2>&1 @$(TIME) ex2.bash < $(INPUT) 2>&1

View File

@@ -1,8 +1,12 @@
ex1.bash : res=650217205854 ex1.bash : res=650217205854
time: 0:01.76 real, 1.74 user, 0.01 sys time: 0:01.71 real, 1.70 user, 0.00 sys
context-switch: 5+1, page-faults: 0+188 context-switch: 39+1, page-faults: 0+191
ex1-c : res=650217205854
time: 0:00.00 real, 0.00 user, 0.00 sys
context-switch: 0+1, page-faults: 0+73
ex2.bash : res=20394514442037 ex2.bash : res=20394514442037
time: 0:01.54 real, 1.53 user, 0.01 sys time: 0:01.61 real, 1.55 user, 0.00 sys
context-switch: 42+1, page-faults: 0+196 context-switch: 4+2, page-faults: 0+195

View File

@@ -16,20 +16,16 @@
static long eval_expr(); static long eval_expr();
static char *saveptr=NULL; static char *saveptr=NULL;
static long get_tok() //, char **saveptr, long *res) static long get_tok()
{ {
char *p, c; char *p, c;
long val=0; long val=0;
//printf("%s(%p, %p)\n", __func__, ptr, *saveptr);
p=saveptr; p=saveptr;
//printf("%s: str=[%s]\n", __func__, p);
while (!val) { while (!val) {
c=*p; c=*p;
//printf(" %s: c=[%c] str=[%s]\n", __func__, c, p);
switch (c) { switch (c) {
case ' ': case ' ':
//case '\n':
break; break;
case '(': case '(':
val=T_SUB; val=T_SUB;
@@ -39,6 +35,7 @@ static long get_tok() //, char **saveptr, long *res)
break; break;
case ')': case ')':
case '\n': case '\n':
case '\0':
val=T_END; val=T_END;
break; break;
case '*': case '*':
@@ -53,9 +50,7 @@ static long get_tok() //, char **saveptr, long *res)
break; break;
} }
while (DIGIT(c)) { while (DIGIT(c)) {
//printf(" int parse: c=[%c] val=%d\n", c, val);
val=(val*10 + c - '0'); val=(val*10 + c - '0');
//printf(" -> val=%d\n", val);
p++; p++;
c=*p; c=*p;
} }
@@ -65,35 +60,8 @@ static long get_tok() //, char **saveptr, long *res)
p++; p++;
} }
saveptr=p; saveptr=p;
//printf("%s END: str=[%s] val=%ld p=[%s]\n", __func__, p, val, *saveptr);
return val; return val;
} }
static char* debug_tok(long tok)
{
static char res[32];
switch (tok) {
case T_END:
sprintf (res, "T_END");
break;
case T_PLUS:
sprintf (res, "T_PLUS");
break;
case T_MULT:
sprintf (res, "T_MULT");
break;
case T_ERR:
sprintf (res, "T_ERR");
break;
case T_SUB:
sprintf (res, "T_SUB");
break;
default:
sprintf (res, "TNUM[%ld]", tok);
break;
}
return res;
}
static long eval_expr() static long eval_expr()
{ {
@@ -102,12 +70,9 @@ static long eval_expr()
res=get_tok(); res=get_tok();
left=res; left=res;
printf("--->EVAL TOK=: %ld tag=%s \n", res, debug_tok(res));
while (res!=T_ERR && res!=T_END) { while (res!=T_ERR && res!=T_END) {
switch (res) { switch (res) {
case T_END: case T_END:
//printf ("RETURNING: %ld\n", left);
//return left;
goto end; goto end;
break; break;
case T_PLUS: case T_PLUS:
@@ -116,14 +81,9 @@ static long eval_expr()
break; break;
case T_ERR: case T_ERR:
left=res; left=res;
//return T_ERR;
goto end; goto end;
break; break;
//case T_SUB:
//sprintf (res, "T_SUB");
//break;
default: default:
//printf ("DEFAULT(left=%ld, res=%ld)\n" , left, res);
switch (op) { switch (op) {
case T_PLUS: case T_PLUS:
left+=res; left+=res;
@@ -132,17 +92,11 @@ static long eval_expr()
left*=res; left*=res;
break; break;
} }
printf ("DEFAULT(left=%ld, res=%ld) - " , left, res);
printf ("New left: %ld\n", left);
break; break;
} }
res=get_tok(); res=get_tok();
printf("get_tok: %ld tag=%s \n", res, debug_tok(res));
// printf("get_tok: %ld tag=%s \n", res, debug_tok(res));
} }
end: end:
printf ("RETURNING: %ld\n", left);
return left; return left;
} }
@@ -154,14 +108,9 @@ int main(ac, av)
long res=0, tmp; long res=0, tmp;
while (fgets(line, sizeof line, stdin)) { while (fgets(line, sizeof line, stdin)) {
//*(line+strlen(line)-1)=0;
saveptr=line; saveptr=line;
//printf("get_tok: %ld tag=%s \n", res, debug_tok(res));
tmp=eval_expr(); tmp=eval_expr();
printf("EXPR=%s\n", debug_tok(tmp));
res+=tmp; res+=tmp;
//} while (res!=T_ERR && res!=T_END);
//res+=build_tree(line, &pnext);
} }
printf("%s : res=%ld\n", *av, res); printf("%s : res=%ld\n", *av, res);
exit (0); exit (0);