-void CYCatch::Output(std::ostream &out) const {
- out << "catch(" << *name_ << ')';
- code_->Output(out, true);
-}
-
-void CYCategory::Output(std::ostream &out) const {
- out << "(function($cys,$cyp,$cyc,$cyn,$cyt){";
- out << "$cyp=object_getClass($cys);";
- out << "$cyc=$cys;";
- if (messages_ != NULL)
- messages_->Output(out, true);
- out << "})(";
- name_->ClassName(out);
- out << ");";
-}
-
-void CYClass::Output(std::ostream &out) const {
- out << "(function($cys,$cyp,$cyc,$cyn,$cyt,$cym){";
- out << "$cyp=object_getClass($cys);";
- out << "$cyc=objc_allocateClassPair($cys,\"" << *name_ << "\",0);";
- out << "$cym=object_getClass($cyc);";
- if (fields_ != NULL)
- fields_->Output(out);
- if (messages_ != NULL)
- messages_->Output(out, false);
- out << "objc_registerClassPair($cyc);";
- out << "})(";
- if (super_ != NULL)
- super_->Output(out, CYPA, CYNoFlags);
- else
- out << "null";
- out << ");";
-}
-
-void CYCompound::Output(std::ostream &out, CYFlags flags) const {
- if (CYExpression *expression = expressions_)
- if (CYExpression *next = expression->next_) {
- expression->Output(out, CYLeft(flags));
- CYFlags center(CYCenter(flags));
- while (next != NULL) {
- expression = next;
- out << ',';
- next = expression->next_;
- CYFlags right(next != NULL ? center : CYRight(flags));
- expression->Output(out, right);
- }
- } else
- expression->Output(out, flags);
-}
-
-void CYCondition::Output(std::ostream &out, CYFlags flags) const {
+namespace cy {
+namespace Syntax {
+
+void Catch::Output(CYOutput &out) const {
+ out << ' ' << "catch" << ' ' << '(' << *name_ << ')' << ' ';
+ out << '{' << '\n';
+ ++out.indent_;
+ out << code_;
+ --out.indent_;
+ out << '\t' << '}';
+}
+
+} }
+
+void CYComment::Output(CYOutput &out, CYFlags flags) const {
+ out << '\r';
+ out.out_ << value_;
+ out.right_ = true;
+ out << '\r';
+}
+
+void CYCompound::Output(CYOutput &out, CYFlags flags) const {
+ if (next_ == NULL)
+ expression_->Output(out, flags);
+ else {
+ expression_->Output(out, CYLeft(flags));
+ out << ',' << ' ';
+ next_->Output(out, CYRight(flags));
+ }
+}
+
+void CYCondition::Output(CYOutput &out, CYFlags flags) const {