2 Star 8 Fork 9

OpenCloudOS/perf-prof

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
expr.h 1.10 KB
一键复制 编辑 原始数据 按行查看 历史
#ifndef __EXPR_H
#define __EXPR_H
struct symbol_table {
int token;
int class;
char *name;
long hash;
int ref;
int type;
int nr_elm; //array
long value;
};
struct expr_global {
int _cpu;
int _pid;
void *data;
int size;
};
struct expr_prog {
struct symbol_table *symtab;
int nr_syms;
struct expr_global glo; // default global variables
char *data; //global var
int datasize;
char *str;
long *insn;
int nr_insn;
int debug;
};
struct global_var_declare {
const char *name;
int offset;
int size;
int elementsize;
bool is_unsigned;
};
#define GLOBAL(a,b,c,d) &((struct expr_global){a,b,c,d})
struct expr_prog *expr_compile(char *expr_str, struct global_var_declare *declare);
long expr_run(struct expr_prog *prog);
int expr_load_glo(struct expr_prog *prog, const char *name, long value);
int expr_load_data(struct expr_prog *prog, void *d, int size);
int expr_load_global(struct expr_prog *prog, struct expr_global *global);
void expr_destroy(struct expr_prog *prog);
void expr_dump(struct expr_prog *prog);
#endif
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/OpenCloudOS/perf-prof.git
git@gitee.com:OpenCloudOS/perf-prof.git
OpenCloudOS
perf-prof
perf-prof
main

搜索帮助