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; |