mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2024-12-26 05:14:36 +03:00
48 lines
800 B
C++
48 lines
800 B
C++
#pragma once
|
|
#ifndef EXTRACT_GHKM_STSG_RULE_H_
|
|
#define EXTRACT_GHKM_STSG_RULE_H_
|
|
|
|
#include <vector>
|
|
|
|
#include "Rule.h"
|
|
#include "Subgraph.h"
|
|
|
|
namespace MosesTraining
|
|
{
|
|
namespace Syntax
|
|
{
|
|
namespace GHKM
|
|
{
|
|
|
|
class Node;
|
|
|
|
class StsgRule : public Rule
|
|
{
|
|
public:
|
|
StsgRule(const Subgraph &fragment);
|
|
|
|
const std::vector<Symbol> &GetSourceSide() const {
|
|
return m_sourceSide;
|
|
}
|
|
const Subgraph &GetTargetSide() const {
|
|
return m_targetSide;
|
|
}
|
|
const std::vector<int> &GetNonTermAlignment() const {
|
|
return m_nonTermAlignment;
|
|
}
|
|
int Scope() const {
|
|
return Rule::Scope(m_sourceSide);
|
|
}
|
|
|
|
private:
|
|
std::vector<Symbol> m_sourceSide;
|
|
Subgraph m_targetSide;
|
|
std::vector<int> m_nonTermAlignment;
|
|
};
|
|
|
|
} // namespace GHKM
|
|
} // namespace Syntax
|
|
} // namespace MosesTraining
|
|
|
|
#endif
|