ConflictResolvingLeftArrowRule.h

00001 
00002 
00003 
00004 
00005 
00006 
00007 //  This program is free software: you can redistribute it and/or modify
00008 //  it under the terms of the GNU General Public License as published by
00009 //  the Free Software Foundation, version 3 of the License.
00010 //
00011 //  This program is distributed in the hope that it will be useful,
00012 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 //  GNU General Public License for more details.
00015 //
00016 //  You should have received a copy of the GNU General Public License
00017 //  along with this program.  If not, see <http://www.gnu.org/licenses/>.
00018 
00019 #ifndef CONFLICT_RESOLVING_LEFT_ARROW_RULE_H_
00020 #define CONFLICT_RESOLVING_LEFT_ARROW_RULE_H_
00021 
00022 class ConflictResolvingLeftArrowRule : public LeftArrowRule
00023 {
00024  public:
00026   ConflictResolvingLeftArrowRule(const std::string &name,
00027          const SymbolPair &center,
00028          const OtherSymbolTransducerVector &contexts);
00029 
00035   bool conflicts_this(const ConflictResolvingLeftArrowRule &another);
00036 
00039   bool resolvable_conflict(const ConflictResolvingLeftArrowRule &another);
00040 
00043   void resolve_conflict(const ConflictResolvingLeftArrowRule &another);
00044 
00045 };
00046 
00047 #endif // CONFLICT_RESOLVING_LEFT_ARROW_RULE_H_
 All Classes Files Functions Typedefs Enumerations Defines
Generated on Wed Dec 15 01:11:58 2010 for hfst-twolc (documentation under construction) by  doxygen 1.6.3