upd: main struct established

This commit is contained in:
2023-11-09 11:55:22 +08:00
parent 6d6b1b9a02
commit 3aff6d64c4
3 changed files with 106 additions and 31 deletions

View File

@ -66,6 +66,10 @@ struct ParaArguItemType {
struct FunctionItem {
Python3Parser::SuiteContext *code_address;
std::vector<ParaArguItemType> para_list;
FunctionItem() {}
FunctionItem(Python3Parser::SuiteContext *code_address,
const std::vector<ParaArguItemType> &para_list)
: code_address(code_address), para_list(para_list) {}
};
class FucntionContainer {
std::unordered_map<std::string, FunctionItem> FunctionIndex;
@ -84,4 +88,28 @@ class VariableContainer {
void WriteVariable(const std::string &name, const std::any &value);
};
std::any DeQuate(std::any val,VariableContainer &Variables);
std::any Add(const std::any &a, const std::any &b);
std::any& SelfAdd(std::any &a, const std::any &b);
std::any Sub(const std::any &a, const std::any &b);
std::any& SelfSub(std::any &a, const std::any &b);
std::any Mul(const std::any &a, const std::any &b);
std::any& SelfMul(std::any &a, const std::any &b);
std::any Div(const std::any &a, const std::any &b);
std::any& SelfDiv(std::any &a, const std::any &b);
std::any Mod(const std::any &a, const std::any &b);
std::any& SelfMod(std::any &a, const std::any &b);
std::any Neg(const std::any &a);
bool Greater(const std::any &a, const std::any &b);
bool Less(const std::any &a, const std::any &b);
bool Equal(const std::any &a, const std::any &b);
bool NotEqual(const std::any &a, const std::any &b);
bool GreaterEqual(const std::any &a, const std::any &b);
bool LessEqual(const std::any &a, const std::any &b);
#endif