#include "regex.hpp" RegEx::~RegEx() { } BinOp::~BinOp() { delete _levi; delete _desni; } UnOp::~UnOp() { delete _arg; } string Slovo::basic() const { char tmp[2]; tmp[0] = _c; tmp[1] = '\0'; return string(tmp); } string Konkatenacija::basic() const { return "(" + _levi->basic() + ")(" + _desni->basic() + ")"; } string Disjunkcija::basic() const { return "(" + _levi->basic() + ")|(" + _desni->basic() + ")"; } string Klini::basic() const { return "(" + _arg->basic() + ")*"; } string Plus::basic() const { string tmp = _arg->basic(); return "(" + tmp + ")*(" + tmp + ")"; } string KarakterskaKlasa::basic() const { string tmp; for (unsigned i = 0; i < _v.size(); i++) { char t[2]; t[0] = _v[i]; t[1] = '\0'; tmp += t; if (i < _v.size() - 1) tmp += "|"; } return tmp; } string Upitnik::basic() const { return "(" + _arg->basic() + ")|()"; } string VisetrukoPojavljivanje::basic() const { string tmp; for (int i = 0; i < _i; i++) tmp += "(" + _arg->basic() + ")"; return tmp; }