FunctionalWeightMaker.hpp

Go to the documentation of this file.
00001 #ifndef wali_wfa_FUNCTIONAL_WEIGHT_MAKER_GUARD
00002 #define wali_wfa_FUNCTIONAL_WEIGHT_MAKER_GUARD 1
00003 
00004 /*!
00005  * @author Akash Lal
00006  */
00007 
00008 #include "wali/Common.hpp"
00009 #include "wali/SemElem.hpp"
00010 #include "wali/wfa/WeightMaker.hpp"
00011 
00012 namespace wali {
00013   namespace wfa {
00014     namespace epr {
00015 
00016       /*!
00017        * @class FunctionalWeightMaker
00018        *
00019        * This class defines the interface for joining the weights
00020        * on WFA transitions to form Functional weights (to create an EPA)
00021        *
00022        * @see wali::wfa::epr::FunctionalWeight
00023        * @see wali::wfa::epr::EPA
00024        */
00025 
00026       class FunctionalWeightMaker : public WeightMaker {
00027       public:
00028         FunctionalWeightMaker() {}
00029         ~FunctionalWeightMaker() {}
00030 
00031         sem_elem_t make_weight( sem_elem_t lhs, sem_elem_t rhs );
00032 
00033         sem_elem_t make_weight( ITrans *lhs, ITrans *rhs);
00034 
00035       }; // FunctionalWeightMaker
00036 
00037     } // namespace epr
00038   } // namespace wfa
00039 } // namespace wali
00040 
00041 #endif // wali_FUNCTIONAL_WEIGHT_MAKER_GUARD