static const char *NAME("conclusion"); //===========================// //== This software is ==// //== (c)opyrighted in 1993 ==// //== by Chris Koeritz ==// //== cak0l@Virginia.EDU ==// //===========================// #include "conclusion.h" #include "guards.h" #include "basics.h" #include conclusion::conclusion() { conclusion_link = NIL; } conclusion::~conclusion() { conclusion_link = NIL; } void conclusion::consequence_name(string &name_i) { if ((char *)conclusion_name) deadly_error(NAME, "consequence_name", "name already set"); conclusion_name += name_i; } string &conclusion::consequence_name() const { string *to_return = new string(conclusion_name); return *to_return; } zeno_tree *conclusion::link() const { return conclusion_link; } void conclusion::link(zeno_tree *new_link) { if (conclusion_link) deadly_error(NAME, "link", "already set"); conclusion_link = new_link; } int conclusion::well_formed() const { if (!conclusion_link) return FALSE; // guarantee 1. if (conclusion_name.length() == 0) return FALSE; // guarantee 2. return TRUE; } void conclusion::print() const { cout << "[ conclusion has conseq name=" << consequence_name() << " link is: " << flush; if (link()) link()->print(); else cout << "nil\n" << flush; cout << "]\n" << flush; }