00001 #pragma once 00002 00003 #include <string> 00004 #include "StatelessFeatureFunction.h" 00005 00006 namespace Moses 00007 { 00008 00009 class SyntaxRHS : public StatelessFeatureFunction 00010 { 00011 public: 00012 SyntaxRHS(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 00033 void EvaluateWhenApplied(const Hypothesis& hypo, 00034 ScoreComponentCollection* accumulator) const { 00035 } 00036 00037 void EvaluateWhenApplied(const ChartHypothesis &hypo, 00038 ScoreComponentCollection* accumulator) const { 00039 } 00040 00041 }; 00042 00043 } 00044