ofunc.c 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #include "__run.h"
  2. static Registered base_func_list[] = {registeredVObject,
  3. registeredNum,
  4. registeredStr,
  5. registeredBool,
  6. registeredEllipisis,
  7. registeredFunction,
  8. registeredDict,
  9. registeredList,
  10. registeredListIter,
  11. registeredDictIter,
  12. registeredExcIter,
  13. registeredFile,
  14. registeredLib,
  15. registeredSysFunction,
  16. registeredIOFunction,
  17. NULL};
  18. void registeredBaseFunction(struct LinkValue *father, Inter *inter){
  19. for (Registered *list = base_func_list; *list != NULL; list++)
  20. (*list)(CR_FUNC(father, inter->var_list));
  21. }
  22. void presetting(Inter *inter) {
  23. LinkValue *func = inter->data.function;
  24. LinkValue *func_new = NULL;
  25. LinkValue *func_init = NULL;
  26. functionPresetting(func, &func_new, &func_init, inter);
  27. strFunctionPresetting(func, func_new, func_init, inter);
  28. functionPresettingLast(func, func_new, func_init, inter);
  29. }
  30. void registeredFunctionName(Inter *inter, LinkValue *belong){
  31. makeBaseObject(inter, belong);
  32. makeBaseVObject(inter);
  33. makeBaseNum(inter);
  34. makeBaseBool(inter);
  35. makeBaseEllipisis(inter);
  36. makeBaseFunction(inter);
  37. makeBaseDict(inter);
  38. makeBaseList(inter);
  39. makeBaseListIter(inter);
  40. makeBaseDictIter(inter);
  41. makeExcIter(inter);
  42. makeBaseFile(inter);
  43. makeBaseLib(inter);
  44. makeBaseStr(inter);
  45. presetting(inter);
  46. registeredObject(inter->base_belong, CFUNC_CORE(inter->var_list));
  47. registeredBaseFunction(inter->base_belong, inter);
  48. }