Remove debug code (Day18 part 1, C)
This commit is contained in:
8
OUTPUT
8
OUTPUT
@@ -414,8 +414,12 @@ ex2-c : res=1680
|
||||
|
||||
+++++++++++++++++ ex1
|
||||
ex1.bash : res=650217205854
|
||||
time: 0:01.76 real, 1.74 user, 0.01 sys
|
||||
context-switch: 5+1, page-faults: 0+188
|
||||
time: 0:01.71 real, 1.70 user, 0.00 sys
|
||||
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.bash : res=20394514442037
|
||||
|
@@ -15,9 +15,9 @@ output:
|
||||
|
||||
compile: ex1-c ex2-c
|
||||
|
||||
ex1:
|
||||
ex1: ex1-c
|
||||
@$(TIME) ex1.bash < $(INPUT) 2>&1
|
||||
@#$(TIME) ex1-c 2020 < $(INPUT) 2>&1
|
||||
@$(TIME) ex1-c 2020 < $(INPUT) 2>&1
|
||||
|
||||
ex2:
|
||||
@$(TIME) ex2.bash < $(INPUT) 2>&1
|
||||
|
12
day18/OUTPUT
12
day18/OUTPUT
@@ -1,8 +1,12 @@
|
||||
ex1.bash : res=650217205854
|
||||
time: 0:01.76 real, 1.74 user, 0.01 sys
|
||||
context-switch: 5+1, page-faults: 0+188
|
||||
time: 0:01.71 real, 1.70 user, 0.00 sys
|
||||
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
|
||||
time: 0:01.54 real, 1.53 user, 0.01 sys
|
||||
context-switch: 42+1, page-faults: 0+196
|
||||
time: 0:01.61 real, 1.55 user, 0.00 sys
|
||||
context-switch: 4+2, page-faults: 0+195
|
||||
|
||||
|
@@ -16,20 +16,16 @@
|
||||
static long eval_expr();
|
||||
|
||||
static char *saveptr=NULL;
|
||||
static long get_tok() //, char **saveptr, long *res)
|
||||
static long get_tok()
|
||||
{
|
||||
char *p, c;
|
||||
long val=0;
|
||||
|
||||
//printf("%s(%p, %p)\n", __func__, ptr, *saveptr);
|
||||
p=saveptr;
|
||||
//printf("%s: str=[%s]\n", __func__, p);
|
||||
while (!val) {
|
||||
c=*p;
|
||||
//printf(" %s: c=[%c] str=[%s]\n", __func__, c, p);
|
||||
switch (c) {
|
||||
case ' ':
|
||||
//case '\n':
|
||||
break;
|
||||
case '(':
|
||||
val=T_SUB;
|
||||
@@ -39,6 +35,7 @@ static long get_tok() //, char **saveptr, long *res)
|
||||
break;
|
||||
case ')':
|
||||
case '\n':
|
||||
case '\0':
|
||||
val=T_END;
|
||||
break;
|
||||
case '*':
|
||||
@@ -53,9 +50,7 @@ static long get_tok() //, char **saveptr, long *res)
|
||||
break;
|
||||
}
|
||||
while (DIGIT(c)) {
|
||||
//printf(" int parse: c=[%c] val=%d\n", c, val);
|
||||
val=(val*10 + c - '0');
|
||||
//printf(" -> val=%d\n", val);
|
||||
p++;
|
||||
c=*p;
|
||||
}
|
||||
@@ -65,35 +60,8 @@ static long get_tok() //, char **saveptr, long *res)
|
||||
p++;
|
||||
}
|
||||
saveptr=p;
|
||||
//printf("%s END: str=[%s] val=%ld p=[%s]\n", __func__, p, val, *saveptr);
|
||||
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()
|
||||
{
|
||||
@@ -102,12 +70,9 @@ static long eval_expr()
|
||||
|
||||
res=get_tok();
|
||||
left=res;
|
||||
printf("--->EVAL TOK=: %ld tag=%s \n", res, debug_tok(res));
|
||||
while (res!=T_ERR && res!=T_END) {
|
||||
switch (res) {
|
||||
case T_END:
|
||||
//printf ("RETURNING: %ld\n", left);
|
||||
//return left;
|
||||
goto end;
|
||||
break;
|
||||
case T_PLUS:
|
||||
@@ -116,14 +81,9 @@ static long eval_expr()
|
||||
break;
|
||||
case T_ERR:
|
||||
left=res;
|
||||
//return T_ERR;
|
||||
goto end;
|
||||
break;
|
||||
//case T_SUB:
|
||||
//sprintf (res, "T_SUB");
|
||||
//break;
|
||||
default:
|
||||
//printf ("DEFAULT(left=%ld, res=%ld)\n" , left, res);
|
||||
switch (op) {
|
||||
case T_PLUS:
|
||||
left+=res;
|
||||
@@ -132,17 +92,11 @@ static long eval_expr()
|
||||
left*=res;
|
||||
break;
|
||||
}
|
||||
printf ("DEFAULT(left=%ld, res=%ld) - " , left, res);
|
||||
printf ("New left: %ld\n", left);
|
||||
break;
|
||||
}
|
||||
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:
|
||||
printf ("RETURNING: %ld\n", left);
|
||||
return left;
|
||||
}
|
||||
|
||||
@@ -154,14 +108,9 @@ int main(ac, av)
|
||||
long res=0, tmp;
|
||||
|
||||
while (fgets(line, sizeof line, stdin)) {
|
||||
//*(line+strlen(line)-1)=0;
|
||||
saveptr=line;
|
||||
//printf("get_tok: %ld tag=%s \n", res, debug_tok(res));
|
||||
tmp=eval_expr();
|
||||
printf("EXPR=%s\n", debug_tok(tmp));
|
||||
res+=tmp;
|
||||
//} while (res!=T_ERR && res!=T_END);
|
||||
//res+=build_tree(line, &pnext);
|
||||
}
|
||||
printf("%s : res=%ld\n", *av, res);
|
||||
exit (0);
|
||||
|
Reference in New Issue
Block a user