2012-10-03 16:27:47 +04:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "StackVec.h"
|
|
|
|
|
2012-10-12 20:04:36 +04:00
|
|
|
#include <list>
|
|
|
|
|
2013-05-29 21:16:15 +04:00
|
|
|
namespace Moses
|
|
|
|
{
|
2012-10-03 16:27:47 +04:00
|
|
|
|
|
|
|
class TargetPhraseCollection;
|
|
|
|
class WordsRange;
|
2012-10-12 20:04:36 +04:00
|
|
|
class TargetPhrase;
|
2013-08-13 15:12:58 +04:00
|
|
|
class InputPath;
|
|
|
|
class InputType;
|
2012-10-03 16:27:47 +04:00
|
|
|
|
2013-05-29 21:16:15 +04:00
|
|
|
class ChartParserCallback
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual ~ChartParserCallback() {}
|
2012-10-03 16:27:47 +04:00
|
|
|
|
2013-05-29 21:16:15 +04:00
|
|
|
virtual void Add(const TargetPhraseCollection &, const StackVec &, const WordsRange &) = 0;
|
2012-10-11 16:26:47 +04:00
|
|
|
|
2013-05-29 21:16:15 +04:00
|
|
|
virtual bool Empty() const = 0;
|
2012-10-12 20:04:36 +04:00
|
|
|
|
2013-05-29 21:16:15 +04:00
|
|
|
virtual void AddPhraseOOV(TargetPhrase &phrase, std::list<TargetPhraseCollection*> &waste_memory, const WordsRange &range) = 0;
|
2013-08-13 15:12:58 +04:00
|
|
|
|
2013-08-13 15:16:55 +04:00
|
|
|
virtual void Evaluate(const InputType &input, const InputPath &inputPath) = 0;
|
2012-10-03 16:27:47 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace Moses
|