Ejemplo n.º 1
0
 virtual void accept(ASTVisitorInterface& visitor)
 {
     visitor.visit(*this);
     left_->accept(visitor);
     visitor.midVisit(*this);
     right_->accept(visitor);
     visitor.postVisit(*this);
 }
Ejemplo n.º 2
0
 virtual void accept(ASTVisitorInterface& visitor)
 {
     visitor.visit(*this);
     const size_t n = args_.size();
     for (size_t i = 0; i < n; ++i) {
         args_[i]->accept(visitor);
         if (i < n - 1) {
             visitor.midVisit(*this);
         }
     }
     visitor.postVisit(*this);
 }