00001 #pragma once
00002
00003 #include <string>
00004 #include "StatelessFeatureFunction.h"
00005
00006 namespace Moses
00007 {
00008
00009 class ExampleStatelessFF : public StatelessFeatureFunction
00010 {
00011 public:
00012 ExampleStatelessFF(const std::string &line);
00013
00014 bool IsUseable(const FactorMask &mask) const {
00015 return true;
00016 }
00017
00018 void EvaluateInIsolation(const Phrase &source
00019 , const TargetPhrase &targetPhrase
00020 , ScoreComponentCollection &scoreBreakdown
00021 , ScoreComponentCollection &estimatedScores) const;
00022 void EvaluateWithSourceContext(const InputType &input
00023 , const InputPath &inputPath
00024 , const TargetPhrase &targetPhrase
00025 , const StackVec *stackVec
00026 , ScoreComponentCollection &scoreBreakdown
00027 , ScoreComponentCollection *estimatedScores = NULL) const;
00028
00029 void EvaluateTranslationOptionListWithSourceContext(const InputType &input
00030 , const TranslationOptionList &translationOptionList) const;
00031
00032 void EvaluateWhenApplied(const Hypothesis& hypo,
00033 ScoreComponentCollection* accumulator) const;
00034 void EvaluateWhenApplied(const ChartHypothesis &hypo,
00035 ScoreComponentCollection* accumulator) const;
00036
00037
00038 void SetParameter(const std::string& key, const std::string& value);
00039
00040 };
00041
00042 }
00043