1
0

branch.c 699 B

12345678910111213141516171819202122232425262728293031
  1. #include<stdio.h>
  2. #include "interpreter.h"
  3. if_list *make_base_if(){ // make base if
  4. if_list *tmp;
  5. tmp = malloc(sizeof(if_list)); // get an address for base var
  6. tmp->next = NULL;
  7. tmp->done = NULL;
  8. tmp->condition = NULL;
  9. return tmp;
  10. }
  11. if_list *make_if(statement *condition, statement *done_base){ // if
  12. if_list *tmp = make_base_if();
  13. tmp->done = done_base;
  14. tmp->condition = condition;
  15. return tmp;
  16. }
  17. if_list *append_elif(if_list *tmp ,if_list *base_if_list){ // elif
  18. if_list *start = base_if_list;
  19. while(1){
  20. if(start->next == NULL){
  21. break;
  22. }
  23. start = start->next;
  24. }
  25. start->next = tmp;
  26. return tmp;
  27. }