summaryrefslogtreecommitdiff
path: root/chill_run_util.hh
blob: 0b716be245376905b580f13565712dbe1cb208f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#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;

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);
simap_vec_t* parse_relation_vector(const char* expr);

#endif