00001 #pragma once
00002
00003 #include <string>
00004
00005 #include "moses/FF/StatelessFeatureFunction.h"
00006
00007 namespace Moses
00008 {
00009 namespace Syntax
00010 {
00011
00012 class InputWeightFF : public StatelessFeatureFunction
00013 {
00014 public:
00015 InputWeightFF(const std::string &line);
00016
00017 bool IsUseable(const FactorMask &mask) const {
00018 return true;
00019 }
00020
00021 void EvaluateWhenApplied(const Hypothesis& hypo,
00022 ScoreComponentCollection* accumulator) const;
00023
00024 void EvaluateWhenApplied(const ChartHypothesis &hypo,
00025 ScoreComponentCollection* accumulator) const;
00026
00027 void EvaluateWhenApplied(const Syntax::SHyperedge &hyperedge,
00028 ScoreComponentCollection* accumulator) const;
00029
00030
00031 void SetParameter(const std::string& key, const std::string& value);
00032
00033
00034
00035 void EvaluateInIsolation(const Phrase &, const TargetPhrase &,
00036 ScoreComponentCollection &,
00037 ScoreComponentCollection &) const {}
00038
00039 void EvaluateWithSourceContext(const InputType &, const InputPath &,
00040 const TargetPhrase &, const StackVec *,
00041 ScoreComponentCollection &,
00042 ScoreComponentCollection *) const {}
00043
00044 void EvaluateTranslationOptionListWithSourceContext(
00045 const InputType &, const TranslationOptionList &) const {}
00046 };
00047
00048 }
00049 }