diff --git a/alib2data/src/grammar/Regular/LeftRG.cpp b/alib2data/src/grammar/Regular/LeftRG.cpp index 3c04fdb46eba5eb7917f450cc1c4da982d733c02..3f652862b5988b2b59407016fda5a936c830a669 100644 --- a/alib2data/src/grammar/Regular/LeftRG.cpp +++ b/alib2data/src/grammar/Regular/LeftRG.cpp @@ -97,6 +97,16 @@ bool LeftRG::removeRule(const alphabet::Symbol& leftHandSide, const std::variant return rules[leftHandSide].erase(rightHandSide); } +bool LeftRG::removeRule(const alphabet::Symbol& leftHandSide, const alphabet::Symbol& rightHandSide) { + std::variant<alphabet::Symbol, std::pair<alphabet::Symbol, alphabet::Symbol>> rhs(rightHandSide); + return removeRule(leftHandSide, rhs); +} + +bool LeftRG::removeRule(const alphabet::Symbol& leftHandSide, const std::pair<alphabet::Symbol, alphabet::Symbol>& rightHandSide) { + std::variant<alphabet::Symbol, std::pair<alphabet::Symbol, alphabet::Symbol>> rhs(rightHandSide); + return removeRule(leftHandSide, rhs); +} + void LeftRG::setGeneratesEpsilon(bool genEps) { generatesEpsilon = genEps; } diff --git a/alib2data/src/grammar/Regular/RightRG.cpp b/alib2data/src/grammar/Regular/RightRG.cpp index 1091151e9e72c10fb173f9961abf2b15c35c31f5..f5977479e9c0958f721ac630aa26c2ebe7baacd1 100644 --- a/alib2data/src/grammar/Regular/RightRG.cpp +++ b/alib2data/src/grammar/Regular/RightRG.cpp @@ -97,6 +97,16 @@ bool RightRG::removeRule(const alphabet::Symbol& leftHandSide, const std::varian return rules[leftHandSide].erase(rightHandSide); } +bool RightRG::removeRule(const alphabet::Symbol& leftHandSide, const alphabet::Symbol& rightHandSide) { + std::variant<alphabet::Symbol, std::pair<alphabet::Symbol, alphabet::Symbol>> rhs(rightHandSide); + return removeRule(leftHandSide, rhs); +} + +bool RightRG::removeRule(const alphabet::Symbol& leftHandSide, const std::pair<alphabet::Symbol, alphabet::Symbol>& rightHandSide) { + std::variant<alphabet::Symbol, std::pair<alphabet::Symbol, alphabet::Symbol>> rhs(rightHandSide); + return removeRule(leftHandSide, rhs); +} + void RightRG::setGeneratesEpsilon(bool genEps) { generatesEpsilon = genEps; }