123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- #ifndef VIRTUALMATH_INTER_H
- #define VIRTUALMATH_INTER_H
- struct Result;
- struct Inter{
- struct Value *base;
- struct LinkValue *link_base;
- struct HashTable *hash_base;
- struct Var *base_var;
- struct LinkValue *base_father;
- struct VarList *var_list;
- struct InterData{
- FILE *inter_stdout;
- FILE *inter_stderr;
- FILE *inter_stdin;
- bool is_stdout;
- bool is_stderr;
- bool is_stdin;
- struct Value *object;
- struct Value *vobject;
- struct Value *num;
- struct Value *str;
- struct Value *bool_;
- struct Value *pass_;
- struct Value *tuple;
- struct Value *list;
- struct Value *dict;
- struct Value *function;
- struct Value *none;
- struct Value *list_iter;
- struct Value *dict_iter;
- struct Value *base_exc;
- struct Value *sys_exc;
- struct Value *keyInterrupt_exc;
- struct Value *exc;
- struct Value *type_exc;
- struct Value *arg_exc;
- struct Value *per_exc;
- struct Value *name_exc;
- struct Value *goto_exc;
- struct Value *result_exc;
- struct Value *assert_exc;
- struct Value *key_exc;
- struct Value *index_exc;
- struct Value *stride_exc;
- struct Value *super_exc;
- struct Value *iterstop_exc;
- struct Value *import_exc;
- struct Value *include_exp;
- char *var_str_prefix;
- char *var_num_prefix;
- char *var_bool_prefix;
- char *var_none;
- char *var_pass;
- char *var_class_prefix;
- char *var_object_prefix;
- char *object_init;
- char *object_new;
- char *object_call;
- char *object_enter;
- char *object_exit;
- char *object_add;
- char *object_sub;
- char *object_mul;
- char *object_div;
- char *object_del;
- char *object_down;
- char *object_slice;
- char *object_iter;
- char *object_next;
- char *object_repo;
- char *object_bool;
- char *object_name;
- char *object_self;
- char *object_father;
- char *object_message;
- char *object_down_assignment;
- char *object_str;
- char *object_slice_assignment;
- int default_pt_type;
- } data;
- };
- typedef struct Inter Inter;
- typedef struct Statement Statement;
- typedef enum ResultType ResultType;
- Inter *makeInter(char *out, char *error_, char *in, LinkValue *belong);
- void freeInter(Inter *inter, bool show_gc);
- void setBaseInterData(struct Inter *inter);
- ResultType runCodeBlock(char *code_file, Inter *inter);
- void runCodeStdin(Inter *inter);
- void runParser(char *code_file, Inter *inter, bool is_one, Statement **st);
- ResultType runCode(Statement *st, Inter *inter);
- void mergeInter(Inter *new, Inter *base);
- #endif //VIRTUALMATH_INTER_H
|