run.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #ifndef VIRTUALMATH_RUN_H
  2. #define VIRTUALMATH_RUN_H
  3. #include "__macro.h"
  4. typedef struct Result Result;
  5. typedef enum ResultType ResultType;
  6. typedef struct LinkValue LinkValue;
  7. typedef struct Value Value;
  8. typedef struct Statement Statement;
  9. typedef struct Inter Inter;
  10. typedef struct VarList VarList;
  11. typedef ResultType (*VarInfo)(char **name, int *times, INTER_FUNCTIONSIG);
  12. ResultType globalIterStatement(Inter *inter, Result *result);
  13. bool operationSafeInterStatement(INTER_FUNCTIONSIG);
  14. bool ifBranchSafeInterStatement(INTER_FUNCTIONSIG);
  15. bool functionSafeInterStatement(INTER_FUNCTIONSIG);
  16. bool cycleBranchSafeInterStatement(INTER_FUNCTIONSIG);
  17. bool tryBranchSafeInterStatement(INTER_FUNCTIONSIG);
  18. ResultType operationStatement(INTER_FUNCTIONSIG);
  19. ResultType setFunction(INTER_FUNCTIONSIG);
  20. ResultType callFunction(INTER_FUNCTIONSIG);
  21. ResultType getVar(INTER_FUNCTIONSIG, VarInfo var_info);
  22. ResultType getBaseValue(INTER_FUNCTIONSIG);
  23. ResultType getList(INTER_FUNCTIONSIG);
  24. ResultType getDict(INTER_FUNCTIONSIG);
  25. ResultType ifBranch(INTER_FUNCTIONSIG);
  26. ResultType whileBranch(INTER_FUNCTIONSIG);
  27. ResultType tryBranch(INTER_FUNCTIONSIG);
  28. ResultType breakCycle(INTER_FUNCTIONSIG);
  29. ResultType continueCycle(INTER_FUNCTIONSIG);
  30. ResultType regoIf(INTER_FUNCTIONSIG);
  31. ResultType restartCode(INTER_FUNCTIONSIG);
  32. ResultType returnCode(INTER_FUNCTIONSIG);
  33. ResultType raiseCode(INTER_FUNCTIONSIG);
  34. ResultType includeFile(INTER_FUNCTIONSIG);
  35. ResultType assCore(Statement *name, LinkValue *value, INTER_FUNCTIONSIG_NOT_ST);
  36. char *setStrVarName(char *old, bool free_old, INTER_FUNCTIONSIG_CORE);
  37. char *setNumVarName(NUMBER_TYPE num, INTER_FUNCTIONSIG_CORE);
  38. char *getNameFromValue(Value *value, INTER_FUNCTIONSIG_CORE);
  39. ResultType getBaseVarInfo(char **name, int *times, INTER_FUNCTIONSIG);
  40. ResultType getBaseSVarInfo(char **name, int *times, INTER_FUNCTIONSIG);
  41. ResultType getVarInfo(char **name, int *times, INTER_FUNCTIONSIG);
  42. #endif //VIRTUALMATH_RUN_H