当前位置: 首页>>代码示例>>C++>>正文


C++ expr::get_kind方法代码示例

本文整理汇总了C++中expr::get_kind方法的典型用法代码示例。如果您正苦于以下问题:C++ expr::get_kind方法的具体用法?C++ expr::get_kind怎么用?C++ expr::get_kind使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在expr的用法示例。


在下文中一共展示了expr::get_kind方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: eq_bool_expr

bool
eq_algo::operator()(const expr& a, const expr& b) const
{
  assert(a.get_kind() == b.get_kind());
  switch (a.get_kind()) {
    case bool_expr_kind:
      return eq_bool_expr(cast<bool_expr>(a), cast<bool_expr>(b));
    
    case and_expr_kind:
    case or_expr_kind:
    case imp_expr_kind:
    case eq_expr_kind:
      return equivalent_binary_expr(cast<binary_expr>(a), cast<binary_expr>(b));
    
    case not_expr_kind: 
      return equivalent_unary_expr(cast<unary_expr>(a), cast<unary_expr>(b));

    default:
      break;
  }
  assert(false && "not a logical expression");
}
开发者ID:asutton,项目名称:beaker,代码行数:22,代码来源:eq.cpp

示例2: hash_unary_expr

void
hash_algo::operator()(hasher& h, const expr& t) const
{
  switch (t.get_kind()) {
    case start_expr_kind:
    case end_expr_kind:
    case arg_expr_kind:
      return hash_unary_expr(h, cast<unary_expr>(t));
    case copy_expr_kind:
      return hash_binary_expr(h, cast<binary_expr>(t));
    default:
      break;
  }
  assert(false && "not a variadic expression");
}
开发者ID:asutton,项目名称:beaker,代码行数:15,代码来源:hash.cpp

示例3: print

void
print_expr(std::ostream& os, const expr& e) 
{
  switch (e.get_kind()) {
    case nop_expr_kind:
      os << "nop";
      return;
    case ref_expr_kind:
      return print(os, cast<ref_expr>(e).get_name());
    case obj_expr_kind:
      return print(os, cast<obj_expr>(e).get_source());
    case call_expr_kind:
      return print_call_expr(os, cast<call_expr>(e));
    default:
      break;
  }
  assert(false && "not a common expression");
}
开发者ID:asutton,项目名称:beaker,代码行数:18,代码来源:print.cpp

示例4: hash_bool_expr

// Returns true when a and b are equivalent logical expressions.
void
hash_algo::operator()(hasher& h, const expr& e) const
{
  switch (e.get_kind()) {
    case bool_expr_kind:
      return hash_bool_expr(h, cast<bool_expr>(e));
    case and_expr_kind:
    case or_expr_kind:
    case imp_expr_kind:
    case eq_expr_kind:
      return hash_binary_expr(h, cast<binary_expr>(e));
    case not_expr_kind:
      return hash_unary_expr(h, cast<unary_expr>(e));
    default:
      break;
  }
  assert(false && "not a logical expression");
}
开发者ID:asutton,项目名称:beaker,代码行数:19,代码来源:hash.cpp

示例5: print

// FIXME: This is incomplete.
void
print_algo::operator()(std::ostream& os, const expr& e) const
{
  switch (e.get_kind()) {
    case nop_expr_kind:
      os << "nop";
      return;
    case ref_expr_kind:
      return print(os, cast<ref_expr>(e).get_name());
    case call_expr_kind:
      return print_call_expr(os, cast<call_expr>(e));

    case zero_init_kind:
      return print_zero_init(os, cast<zero_init>(e));
    case copy_init_kind:
      return print_copy_init(os, cast<copy_init>(e));
    default:
      break;
  }
  assert(false && "not a core expression");
}
开发者ID:asutton,项目名称:beaker,代码行数:22,代码来源:print.cpp


注:本文中的expr::get_kind方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。