12345678910111213141516171819202122232425262728 |
- #ifndef VIRTUALMATH_PARAMETER_H
- #define VIRTUALMATH_PARAMETER_H
- #include "__macro.h"
- typedef struct Parameter{
- enum {
- only_value,
- name_value,
- only_args,
- } type;
- struct {
- struct Statement *value;
- struct Statement *name; // 仅在name-value模式生效
- } data;
- struct Parameter *next;
- } Parameter;
- Parameter *makeParameter();
- Parameter *makeOnlyValueParameter(struct Statement *st);
- Parameter *makeNameValueParameter(struct Statement *value, struct Statement *name);
- Parameter *makeOnlyArgsParameter(Statement *st);
- Parameter *connectParameter(Parameter *new, Parameter *base);
- Parameter *connectOnlyValueParameter(struct Statement *st, Parameter *base);
- Parameter *connectNameValueParameter(struct Statement *value, struct Statement *name, Parameter *base);
- Parameter *connectOnlyArgsParameter(Statement *st, Parameter *base);
- void freeParameter(Parameter *pt);
- struct VirtualMathResult setParameter(Parameter *call, Parameter *function, struct VirtualMathVarList *function_var, INTER_FUNCTIONSIG_CORE);
- #endif //VIRTUALMATH_PARAMETER_H
|