+void CYForEachIn::Output(std::ostream &out) const {
+ const char *name(initialiser_->ForEachIn());
+
+ if (name != NULL) {
+ out << '{';
+ out << "var " << name << ';';
+ }
+
+ out << "(function($cys,$cyt){";
+ out << "$cys=";
+ set_->Output(out, CYPA, CYNoFlags);
+ out << ";";
+
+ out << "for($cyt in $cys){";
+
+ initialiser_->ForEachIn(out);
+ out << "=$cys[$cyt];";
+
+ code_->Show(out);
+
+ out << "}}());";
+
+ if (name != NULL)
+ out << '}';
+}
+
+void CYForEachInComprehension::Begin_(std::ostream &out) const {
+ out << "(function($cys){";
+ out << "$cys=";
+ set_->Output(out, CYPA, CYNoFlags);
+ out << ";";
+
+ out << "for(" << *name_ << " in $cys){";
+ out << *name_ << "=$cys[" << *name_ << "];";
+}
+
+void CYForEachInComprehension::End_(std::ostream &out) const {
+ out << "}}());";
+}
+