|
#include "TokenizedRuleHalf.h" |
|
|
|
namespace MosesTraining |
|
{ |
|
namespace Syntax |
|
{ |
|
namespace ScoreStsg |
|
{ |
|
|
|
bool TokenizedRuleHalf::IsFullyLexical() const |
|
{ |
|
for (std::vector<RuleSymbol>::const_iterator p = frontierSymbols.begin(); |
|
p != frontierSymbols.end(); ++p) { |
|
if (p->isNonTerminal) { |
|
return false; |
|
} |
|
} |
|
return true; |
|
} |
|
|
|
bool TokenizedRuleHalf::IsString() const |
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
return (tokens[0].type == TreeFragmentToken_WORD || |
|
tokens[2].type == TreeFragmentToken_RSB); |
|
} |
|
|
|
bool TokenizedRuleHalf::IsTree() const |
|
{ |
|
return !IsString(); |
|
} |
|
|
|
} |
|
} |
|
} |
|
|