#include "reg_izrazi.hpp" RegEx::~RegEx() { } string Char::basic() const { char tmp[2]; tmp[0] = _c; tmp[1] = '\0'; return string(tmp); } BinOp::~BinOp() { delete _left; delete _right; } string Concat::basic() const { return string("(") + _left->basic() + string(")(") + _right->basic() + string(")"); } string Disj::basic() const { return string("(") + _left->basic() + string(")|(") + _right->basic() + string(")"); } UnOp::~UnOp() { delete _r; } string Iter::basic() const { return string("(") + _r->basic() + string(")*"); } string Plus::basic() const { return string("(") + _r->basic() + string(")*(") + _r->basic() + string(")"); } string CharClass::basic() const { string tmp; for (unsigned i = 0; i < _s.size(); i++) { tmp += _s[i]; if (i != _s.size() - 1) tmp += "|"; } return tmp; } string QuestionMark::basic() const { return string("(") + _r->basic() + string(")|()"); } string IterN::basic() const { string tmp; for (int i = 0; i < _n; i++) tmp += string("(") + _r->basic() + string(")"); return tmp; }