Example #1
0
 void collect_non_local_vars(ast_manager & m, rule const * r, app * t_1, app * t_2, var_idx_set & result) {
     collect_vars(m, r->get_head(), result);
     unsigned sz = r->get_tail_size();
     for (unsigned i = 0; i < sz; i++) {
         app * curr = r->get_tail(i);
         if (curr != t_1 && curr != t_2)
             collect_vars(m, curr, result);
     }
 }
int
run_compilation_passes (struct ast **ss)
{
  int ret = 0;
  ret = ret || semantic (*ss);
  ret = ret || transform (ss);
  ret = ret || dealias (ss);
  ret = ret || collect_vars (*ss);
  ret = ret || optimizer (ss);
  ret = ret || gen_code (*ss);
  AST_FREE (*ss);
  return ret;
}
Example #3
0
 var_idx_set& rule_manager::collect_vars(expr* e) {
     return collect_vars(e, 0);
 }
Example #4
0
 void collect_tail_vars(ast_manager & m, rule * r, var_idx_set & result) {
     unsigned n = r->get_tail_size();
     for(unsigned i=0;i<n;i++) {
         collect_vars(m, r->get_tail(i), result);
     }
 }