diff options
author | Tuowen Zhao <ztuowen@gmail.com> | 2016-09-19 22:32:41 +0000 |
---|---|---|
committer | Tuowen Zhao <ztuowen@gmail.com> | 2016-09-19 22:32:41 +0000 |
commit | cf2eb3dde8d9d49f28b9f91a726c865abe948109 (patch) | |
tree | deff333167b9a132df5903cf629e623f20c9a7e8 /lib/parserel/include | |
parent | ad802305ebdc4a3956f90382f7d40a104e8c2f73 (diff) | |
download | chill-cf2eb3dde8d9d49f28b9f91a726c865abe948109.tar.gz chill-cf2eb3dde8d9d49f28b9f91a726c865abe948109.tar.bz2 chill-cf2eb3dde8d9d49f28b9f91a726c865abe948109.zip |
parseRel as lib
Diffstat (limited to 'lib/parserel/include')
-rw-r--r-- | lib/parserel/include/parseRel.hh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/parserel/include/parseRel.hh b/lib/parserel/include/parseRel.hh new file mode 100644 index 0000000..8df5871 --- /dev/null +++ b/lib/parserel/include/parseRel.hh @@ -0,0 +1,29 @@ +#ifndef CHILL_RUN_UTIL_HH +#define CHILL_RUN_UTIL_HH + +#include <vector> +#include <map> +#include <string> + +typedef std::map<std::string, int> simap_t; +typedef std::vector<std::map<std::string, int> > simap_vec_t; + +// in chill_run_util.cc +simap_vec_t* make_prog(simap_vec_t* cond); +simap_vec_t* make_cond_gt(simap_t* lhs, simap_t* rhs); +simap_vec_t* make_cond_lt(simap_t* lhs, simap_t* rhs); +simap_vec_t* make_cond_ge(simap_t* lhs, simap_t* rhs); +simap_vec_t* make_cond_le(simap_t* lhs, simap_t* rhs); +simap_vec_t* make_cond_eq(simap_t* lhs, simap_t* rhs); +simap_t* make_cond_item_add(simap_t* lhs, simap_t* rhs); +simap_t* make_cond_item_sub(simap_t* lhs, simap_t* rhs); +simap_t* make_cond_item_mul(simap_t* lhs, simap_t* rhs); +simap_t* make_cond_item_neg(simap_t* expr); +simap_t* make_cond_item_number(int n); +simap_t* make_cond_item_variable(const char* var); +simap_t* make_cond_item_level(int n); + +// in parse_expr.yy +simap_vec_t* parse_relation_vector(const char* expr); + +#endif |