| 496 |
return; |
return; |
| 497 |
} |
} |
| 498 |
|
|
| 499 |
|
eval_start: |
| 500 |
|
|
| 501 |
switch(env->head->item->type) { |
switch(env->head->item->type) { |
| 502 |
/* if it's a symbol */ |
/* if it's a symbol */ |
| 503 |
case symb: |
case symb: |
| 504 |
rcl(env); /* get its contents */ |
rcl(env); /* get its contents */ |
| 505 |
if(env->err) return; |
if(env->err) return; |
| 506 |
if(env->head->item->type!=symb){ /* don't recurse symbols */ |
if(env->head->item->type!=symb){ /* don't recurse symbols */ |
| 507 |
return eval(env); /* evaluate the value */ |
goto eval_start; |
| 508 |
} |
} |
| 509 |
return; |
return; |
| 510 |
|
|
| 530 |
if(env->err) return; |
if(env->err) return; |
| 531 |
if(iterator->next == NULL){ |
if(iterator->next == NULL){ |
| 532 |
free_val(temp_val); |
free_val(temp_val); |
| 533 |
return eval(env); |
goto eval_start; |
| 534 |
} |
} |
| 535 |
eval(env); |
eval(env); |
| 536 |
if(env->err) return; |
if(env->err) return; |
| 553 |
strcat(temp_string, " ]"); |
strcat(temp_string, " ]"); |
| 554 |
stack_read(env, temp_string); |
stack_read(env, temp_string); |
| 555 |
free(temp_string); |
free(temp_string); |
| 556 |
return eval(env); |
goto eval_start; |
| 557 |
|
|
| 558 |
case integer: |
case integer: |
| 559 |
return; |
return; |