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