1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #ifndef VIRTUALMATH_RUN_H
- #define VIRTUALMATH_RUN_H
- #include "__macro.h"
- enum StatementInfoStatus;
- typedef struct Result Result;
- typedef enum ResultType ResultType;
- typedef struct LinkValue LinkValue;
- typedef struct Value Value;
- typedef struct Statement Statement;
- typedef struct StatementList StatementList;
- typedef struct Inter Inter;
- typedef struct VarList VarList;
- typedef struct Parameter Parameter;
- typedef struct DecorationStatement DecorationStatement;
- typedef ResultType (*VarInfo)(char **name, int *times, INTER_FUNCTIONSIG);
- ResultType globalIterStatement(Result *result, LinkValue *base_father, Inter *inter, Statement *st);
- bool operationSafeInterStatement(INTER_FUNCTIONSIG);
- bool ifBranchSafeInterStatement(INTER_FUNCTIONSIG);
- bool functionSafeInterStatement(INTER_FUNCTIONSIG);
- bool blockSafeInterStatement(INTER_FUNCTIONSIG);
- bool cycleBranchSafeInterStatement(INTER_FUNCTIONSIG);
- bool tryBranchSafeInterStatement(INTER_FUNCTIONSIG);
- Statement *checkLabel(Statement *base, char *label);
- ResultType operationStatement(INTER_FUNCTIONSIG);
- ResultType setClass(INTER_FUNCTIONSIG);
- ResultType setFunction(INTER_FUNCTIONSIG);
- ResultType setLambda(INTER_FUNCTIONSIG);
- ResultType callBack(INTER_FUNCTIONSIG);
- ResultType callBackCore(LinkValue *function_value, Parameter *parameter, long line, char *file, INTER_FUNCTIONSIG_NOT_ST);
- ResultType callClass(LinkValue *class_value, Parameter *parameter, long int line, char *file, INTER_FUNCTIONSIG_NOT_ST);
- ResultType callFunction(LinkValue *function_value, Parameter *parameter, long int line, char *file, INTER_FUNCTIONSIG_NOT_ST);
- ResultType setDecoration(DecorationStatement *ds, LinkValue *value, INTER_FUNCTIONSIG_NOT_ST);
- ResultType getVar(INTER_FUNCTIONSIG, VarInfo var_info);
- ResultType getBaseValue(INTER_FUNCTIONSIG);
- ResultType getList(INTER_FUNCTIONSIG);
- ResultType getDict(INTER_FUNCTIONSIG);
- ResultType setDefault(INTER_FUNCTIONSIG);
- ResultType ifBranch(INTER_FUNCTIONSIG);
- ResultType whileBranch(INTER_FUNCTIONSIG);
- ResultType withBranch(INTER_FUNCTIONSIG);
- ResultType tryBranch(INTER_FUNCTIONSIG);
- ResultType breakCycle(INTER_FUNCTIONSIG);
- ResultType continueCycle(INTER_FUNCTIONSIG);
- ResultType regoIf(INTER_FUNCTIONSIG);
- ResultType restartCode(INTER_FUNCTIONSIG);
- ResultType returnCode(INTER_FUNCTIONSIG);
- ResultType yieldCode(INTER_FUNCTIONSIG);
- ResultType raiseCode(INTER_FUNCTIONSIG);
- ResultType assertCode(INTER_FUNCTIONSIG);
- ResultType gotoLabel(INTER_FUNCTIONSIG);
- ResultType runLabel(INTER_FUNCTIONSIG);
- ResultType includeFile(INTER_FUNCTIONSIG);
- ResultType importFile(INTER_FUNCTIONSIG);
- ResultType fromImportFile(INTER_FUNCTIONSIG);
- ResultType pointAss(Statement *name, LinkValue *value, INTER_FUNCTIONSIG_NOT_ST);
- ResultType assCore(Statement *name, LinkValue *value, INTER_FUNCTIONSIG_NOT_ST);
- char *setStrVarName(char *old, bool free_old, INTER_FUNCTIONSIG_CORE);
- char *setNumVarName(NUMBER_TYPE num, INTER_FUNCTIONSIG_CORE);
- char *getNameFromValue(Value *value, INTER_FUNCTIONSIG_CORE);
- ResultType getBaseVarInfo(char **name, int *times, INTER_FUNCTIONSIG);
- ResultType getBaseSVarInfo(char **name, int *times, INTER_FUNCTIONSIG);
- ResultType getVarInfo(char **name, int *times, INTER_FUNCTIONSIG);
- Statement *getRunInfoStatement(Statement *funtion_st);
- bool popStatementVarList(Statement *funtion_st, VarList **function_var, VarList *out_var, Inter *inter);
- void newFunctionYield(Statement *funtion_st, Statement *node, VarList *new_var, Inter *inter);
- void updateFunctionYield(Statement *function_st, Statement *node);
- void freeFunctionYield(Statement *function_st, Inter *inter);
- void updateBranchYield(Statement *branch_st, Statement *node, StatementList *sl_node, enum StatementInfoStatus status);
- void newWithBranchYield(Statement *branch_st, Statement *node, StatementList *sl_node, VarList *new_var, enum StatementInfoStatus status,
- Inter *inter, LinkValue *value, LinkValue *_exit_, LinkValue *_enter_);
- void updateBranchYield(Statement *branch_st, Statement *node, StatementList *sl_node, enum StatementInfoStatus status);
- #endif //VIRTUALMATH_RUN_H
|