diff --git a/alib2data/src/alphabet/SymbolBase.h b/alib2data/src/alphabet/SymbolBase.h index 031a52ac77c148d130903f3bf69cdd55a93120d6..ee2959782f441e6f5a8c98e0e47d09b052821f48 100644 --- a/alib2data/src/alphabet/SymbolBase.h +++ b/alib2data/src/alphabet/SymbolBase.h @@ -21,6 +21,8 @@ public: virtual SymbolBase* plunder() && = 0; virtual SymbolBase* inc() && = 0; + + virtual SymbolBase* normalize ( ) && = 0; }; } /* namespace alphabet */ diff --git a/alib2data/src/automaton/AutomatonBase.h b/alib2data/src/automaton/AutomatonBase.h index ed17dc3f051bb0ca0854f15f56d578725bb97c1c..946e49378828f0b5da4359cbc5db695f12533373 100644 --- a/alib2data/src/automaton/AutomatonBase.h +++ b/alib2data/src/automaton/AutomatonBase.h @@ -19,6 +19,8 @@ class AutomatonBase : public alib::ObjectBase { public: virtual AutomatonBase* clone() const = 0; virtual AutomatonBase* plunder() && = 0; + + virtual AutomatonBase* normalize ( ) && = 0; }; } /* namespace automaton */ diff --git a/alib2data/src/grammar/GrammarBase.h b/alib2data/src/grammar/GrammarBase.h index 873d92dc4109d43daf5f0475088258e3b9971668..42642a72ed36f0219d55a0a9cad1bf05896af21c 100644 --- a/alib2data/src/grammar/GrammarBase.h +++ b/alib2data/src/grammar/GrammarBase.h @@ -19,6 +19,8 @@ class GrammarBase : public alib::ObjectBase { public: virtual GrammarBase* clone() const = 0; virtual GrammarBase* plunder() && = 0; + + virtual GrammarBase* normalize ( ) && = 0; }; } /* namespace grammar */ diff --git a/alib2data/src/label/LabelBase.h b/alib2data/src/label/LabelBase.h index 9acd07d6b74f3504ee168360d0f1abe91511ee6a..3675c749c22ba3ed8d6ac41e22d0d6b921c438b3 100644 --- a/alib2data/src/label/LabelBase.h +++ b/alib2data/src/label/LabelBase.h @@ -21,6 +21,8 @@ public: virtual LabelBase* plunder() && = 0; virtual LabelBase* inc() && = 0; + + virtual LabelBase* normalize ( ) && = 0; }; } /* namespace label */ diff --git a/alib2data/src/regexp/RegExpBase.h b/alib2data/src/regexp/RegExpBase.h index 3c23d3ce95824eb18e21d2a4af6e7f1accd5504c..490046ec2b42061f3ecdd51226201a3c0feb70f2 100644 --- a/alib2data/src/regexp/RegExpBase.h +++ b/alib2data/src/regexp/RegExpBase.h @@ -19,6 +19,8 @@ class RegExpBase : public alib::ObjectBase { public: virtual RegExpBase* clone() const = 0; virtual RegExpBase* plunder() && = 0; + + virtual RegExpBase* normalize ( ) && = 0; }; } /* namespace regexp */ diff --git a/alib2data/src/rte/RTEBase.h b/alib2data/src/rte/RTEBase.h index e5407c54de246889923c8f86856236da0bf3f6ee..fe1f65302594deb417c9d629ea507bde9d35eccd 100644 --- a/alib2data/src/rte/RTEBase.h +++ b/alib2data/src/rte/RTEBase.h @@ -21,6 +21,8 @@ public: virtual const std::set < std::ranked_symbol < > > & getAlphabet ( ) const = 0; virtual const std::set < std::ranked_symbol < > > & getSubstitutionAlphabet ( ) const = 0; + + virtual RTEBase* normalize ( ) && = 0; }; } /* namespace rte */ diff --git a/alib2data/src/string/StringBase.h b/alib2data/src/string/StringBase.h index fe7c47a54f84f9d7a90b3975253a9d608bbe24e6..ee227b810c4f27963cabfdd059ffd44c0301e781 100644 --- a/alib2data/src/string/StringBase.h +++ b/alib2data/src/string/StringBase.h @@ -21,6 +21,8 @@ class StringBase : public alib::ObjectBase { public: virtual StringBase * clone ( ) const = 0; virtual StringBase * plunder ( ) && = 0; + + virtual StringBase* normalize ( ) && = 0; }; } /* namespace string */ diff --git a/alib2data/src/tree/RankedTreeBase.h b/alib2data/src/tree/RankedTreeBase.h index e5183ee48008ffa8d178b28241b4702495d3a153..3f61023a0dd80889d53d81e379885b50b6db0a94 100644 --- a/alib2data/src/tree/RankedTreeBase.h +++ b/alib2data/src/tree/RankedTreeBase.h @@ -21,6 +21,8 @@ class RankedTreeBase : public TreeBase { public: virtual RankedTreeBase * clone ( ) const = 0; virtual RankedTreeBase * plunder ( ) && = 0; + + virtual RankedTreeBase* normalize ( ) && = 0; }; } /* namespace tree */ diff --git a/alib2data/src/tree/TreeBase.h b/alib2data/src/tree/TreeBase.h index caa1a7624ea2a3f1d4edfb5da1d8978f74f11a52..65055eb8e11a28252a7db8eaaaf81dc7c3d62828 100644 --- a/alib2data/src/tree/TreeBase.h +++ b/alib2data/src/tree/TreeBase.h @@ -19,6 +19,8 @@ class TreeBase : public alib::ObjectBase { public: virtual TreeBase* clone() const = 0; virtual TreeBase* plunder() && = 0; + + virtual TreeBase* normalize ( ) && = 0; }; } /* namespace tree */ diff --git a/alib2data/src/tree/UnrankedTreeBase.h b/alib2data/src/tree/UnrankedTreeBase.h index b106d4a3406c665353a00656e719a8d8292dc681..ec7aa37f75d5e2ece93ae2079dbac09109360532 100644 --- a/alib2data/src/tree/UnrankedTreeBase.h +++ b/alib2data/src/tree/UnrankedTreeBase.h @@ -21,6 +21,8 @@ class UnrankedTreeBase : public TreeBase { public: virtual UnrankedTreeBase * clone ( ) const = 0; virtual UnrankedTreeBase * plunder ( ) && = 0; + + virtual UnrankedTreeBase* normalize ( ) && = 0; }; } /* namespace tree */ diff --git a/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h b/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h index 63d7ad990880b6553847cebe93746a5ab98ff17c..0551f639ecf5031293749aa2cf98784de6ca8cdb 100644 --- a/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h +++ b/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h @@ -128,7 +128,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::ranked_symbol < DefaultSymbolType, DefaultRankType > variablesBars = alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->template accessElement < VariablesBarSymbol > ( ).get ( ) ) ); std::ranked_symbol < DefaultSymbolType, DefaultRankType > wildcard = alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->template accessElement < SubtreeWildcard > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > nonlinearAlphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < NonlinearAlphabet > ( ).get ( ) ) ); diff --git a/alib2data/src/tree/ranked/PrefixRankedBarPattern.h b/alib2data/src/tree/ranked/PrefixRankedBarPattern.h index 1688ef99ae4e992fbec9d99b78410ef6ab39d20d..1e9d1cf8287d0da65c8de1dba662ef3422ab7558 100644 --- a/alib2data/src/tree/ranked/PrefixRankedBarPattern.h +++ b/alib2data/src/tree/ranked/PrefixRankedBarPattern.h @@ -117,7 +117,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::ranked_symbol < DefaultSymbolType, DefaultRankType > variablesBars = alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->template accessElement < VariablesBarSymbol > ( ).get ( ) ) ); std::ranked_symbol < DefaultSymbolType, DefaultRankType > wildcard = alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->template accessElement < SubtreeWildcard > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > bars = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < BarSymbols > ( ).get ( ) ) ); diff --git a/alib2data/src/tree/ranked/PrefixRankedBarTree.h b/alib2data/src/tree/ranked/PrefixRankedBarTree.h index c0605eea9af183b77c26097b952d447d4f3574bd..82dfd8ee06d5de5591549c0e36facd5df3c197a5 100644 --- a/alib2data/src/tree/ranked/PrefixRankedBarTree.h +++ b/alib2data/src/tree/ranked/PrefixRankedBarTree.h @@ -104,7 +104,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > bars = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < BarSymbols > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > alphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); std::vector < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > content = alphabet::SymbolNormalize::normalizeRankedSymbols ( std::move ( m_Data ) ); diff --git a/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h b/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h index 2b40344f3748b79d75bc190f607fb3770d6ec912..5f5d1fc9d153bdfee256ab18e393f74104ecc705 100644 --- a/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h +++ b/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h @@ -112,7 +112,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::ranked_symbol < DefaultSymbolType, DefaultRankType > wildcard = alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->template accessElement < SubtreeWildcard > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > nonlinearAlphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < NonlinearAlphabet > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > alphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); diff --git a/alib2data/src/tree/ranked/PrefixRankedPattern.h b/alib2data/src/tree/ranked/PrefixRankedPattern.h index edc1ae25ac9cf2b8cf50200b7743dbbba457365d..ec5681c0cada8d0e3850d2570fe97c3c77cbf3c0 100644 --- a/alib2data/src/tree/ranked/PrefixRankedPattern.h +++ b/alib2data/src/tree/ranked/PrefixRankedPattern.h @@ -103,7 +103,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::ranked_symbol < DefaultSymbolType, DefaultRankType > wildcard = alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->template accessElement < SubtreeWildcard > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > alphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); std::vector < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > content = alphabet::SymbolNormalize::normalizeRankedSymbols ( std::move ( m_Data ) ); diff --git a/alib2data/src/tree/ranked/PrefixRankedTree.h b/alib2data/src/tree/ranked/PrefixRankedTree.h index 0ded0a3c8d97e3f5fce4a1cee3dfac62056e0f3d..4b45896935938780f4821649478fbb33af098b0d 100644 --- a/alib2data/src/tree/ranked/PrefixRankedTree.h +++ b/alib2data/src/tree/ranked/PrefixRankedTree.h @@ -95,7 +95,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > alphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); std::vector < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > content = alphabet::SymbolNormalize::normalizeRankedSymbols ( std::move ( m_Data ) ); diff --git a/alib2data/src/tree/ranked/RankedNonlinearPattern.h b/alib2data/src/tree/ranked/RankedNonlinearPattern.h index 6b10f84e82bd8c346c38eef2e69520d147d45b25..def29fc92029274b9dbeead11c5bc8ff41a28dfd 100644 --- a/alib2data/src/tree/ranked/RankedNonlinearPattern.h +++ b/alib2data/src/tree/ranked/RankedNonlinearPattern.h @@ -120,7 +120,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::ranked_symbol < DefaultSymbolType, DefaultRankType > wildcard = alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->template accessElement < SubtreeWildcard > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > nonlinearAlphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < NonlinearAlphabet > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > alphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); diff --git a/alib2data/src/tree/ranked/RankedPattern.h b/alib2data/src/tree/ranked/RankedPattern.h index 7e236d12f2fb4570f2f78ae508080035834c459b..1f3c9788b1d909de3a0421163219fafd14adff19 100644 --- a/alib2data/src/tree/ranked/RankedPattern.h +++ b/alib2data/src/tree/ranked/RankedPattern.h @@ -114,7 +114,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::ranked_symbol < DefaultSymbolType, DefaultRankType > wildcard = alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->template accessElement < SubtreeWildcard > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > alphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); std::tree < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > content = TreeNormalize::normalizeRankedTree ( std::move ( m_content ) ); diff --git a/alib2data/src/tree/ranked/RankedTree.h b/alib2data/src/tree/ranked/RankedTree.h index 233cfa1460f08fce5f5d55d0dc6012432f77d809..d72fdbf9ce869f7253791e9aedc661b9fad2555d 100644 --- a/alib2data/src/tree/ranked/RankedTree.h +++ b/alib2data/src/tree/ranked/RankedTree.h @@ -110,7 +110,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > alphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); std::tree < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > content = TreeNormalize::normalizeRankedTree ( std::move ( m_content ) ); diff --git a/alib2data/src/tree/unranked/PrefixBarTree.h b/alib2data/src/tree/unranked/PrefixBarTree.h index 1458e0829d454168902c511fa9fdbd9d159e60af..3c7b27078b011dd852260dc210b7942e053f19f2 100644 --- a/alib2data/src/tree/unranked/PrefixBarTree.h +++ b/alib2data/src/tree/unranked/PrefixBarTree.h @@ -101,7 +101,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual UnrankedTreeBase * normalize ( ) && { DefaultSymbolType bar = alphabet::SymbolNormalize::normalizeSymbol ( std::move ( this->template accessElement < BarSymbol > ( ).get ( ) ) ); std::set < DefaultSymbolType > alphabet = alphabet::SymbolNormalize::normalizeAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); std::vector < DefaultSymbolType > content = alphabet::SymbolNormalize::normalizeSymbols ( std::move ( m_Data ) ); diff --git a/alib2data/src/tree/unranked/UnrankedNonlinearPattern.h b/alib2data/src/tree/unranked/UnrankedNonlinearPattern.h index 13acf19ae4eebdf5ec91eaa69688031bd7eb336b..ecbe5f2c0c32f4772a341db625e6cf40ac37c7ea 100644 --- a/alib2data/src/tree/unranked/UnrankedNonlinearPattern.h +++ b/alib2data/src/tree/unranked/UnrankedNonlinearPattern.h @@ -124,7 +124,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual UnrankedTreeBase * normalize ( ) && { DefaultSymbolType wildcard = alphabet::SymbolNormalize::normalizeSymbol ( std::move ( this->template accessElement < SubtreeWildcard > ( ).get ( ) ) ); std::set < DefaultSymbolType > nonlinearAlphabet = alphabet::SymbolNormalize::normalizeAlphabet ( std::move ( this->template accessComponent < NonlinearAlphabet > ( ).get ( ) ) ); std::set < DefaultSymbolType > alphabet = alphabet::SymbolNormalize::normalizeAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); diff --git a/alib2data/src/tree/unranked/UnrankedPattern.h b/alib2data/src/tree/unranked/UnrankedPattern.h index f8fd599b68ac0b7529d8f84185444caed74f0086..97f754b23c7f1d1750dcc056a0ea47aabc245d7d 100644 --- a/alib2data/src/tree/unranked/UnrankedPattern.h +++ b/alib2data/src/tree/unranked/UnrankedPattern.h @@ -112,7 +112,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual UnrankedTreeBase * normalize ( ) && { DefaultSymbolType wildcard = alphabet::SymbolNormalize::normalizeSymbol ( std::move ( this->template accessElement < SubtreeWildcard > ( ).get ( ) ) ); std::set < DefaultSymbolType > alphabet = alphabet::SymbolNormalize::normalizeAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); std::tree < DefaultSymbolType > content = TreeNormalize::normalizeTree ( std::move ( m_content ) ); diff --git a/alib2data/src/tree/unranked/UnrankedTree.h b/alib2data/src/tree/unranked/UnrankedTree.h index 569d7a35fdf885667464c4ed8e85f6e69a80f63f..66973126a586dc1644d4d66d5c98aab9893b257e 100644 --- a/alib2data/src/tree/unranked/UnrankedTree.h +++ b/alib2data/src/tree/unranked/UnrankedTree.h @@ -107,7 +107,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual UnrankedTreeBase * normalize ( ) && { std::set < DefaultSymbolType > alphabet = alphabet::SymbolNormalize::normalizeAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); std::tree < DefaultSymbolType > content = TreeNormalize::normalizeTree ( std::move ( m_content ) );