Esempio n. 1
0
void Token::print(std::ostream& out, IVocabulary const* voc) const {
  if (start() == kNoState)
    out << "?";
  else
    out << start();
  out << "-";
  if (getEndState() == kNoState)
    out << "?";
  else
    out << getEndState();
  out << ",";
  if (!syms_.empty()) {
    ::adl::adl_print(out, syms_, voc);
    out << ",";
  }
  if (props_ == kUnspecified)
    out << '*';
  else {
    //    if (props_ & kBlockLeft) out << '{';
    if (props_ & kMustExtendLeft) out << '<';
    if (props_ & kExtendableLeft) out << '[';
    if (props_ & kExtendableRight) out << ']';
    if (props_ & kMustExtendRight) out << '>';
    if (props_ & kBlockRight) out << '}';
  }
}
bool GameOver::_isEndStateSet(const mgen::FieldSetDepth depth) const {
	if (depth == mgen::SHALLOW) {
		return _m_endState_isSet;
	} else {
		return _m_endState_isSet && mgen::validation::validateFieldDeep(getEndState());
	}
}
bool GameOver::operator==(const GameOver& other) const {
	return true
		 && _isReasonSet(mgen::SHALLOW) == other._isReasonSet(mgen::SHALLOW)
		 && _isWinnerSet(mgen::SHALLOW) == other._isWinnerSet(mgen::SHALLOW)
		 && _isLoserSet(mgen::SHALLOW) == other._isLoserSet(mgen::SHALLOW)
		 && _isEndStateSet(mgen::SHALLOW) == other._isEndStateSet(mgen::SHALLOW)
		 && getReason() == other.getReason()
		 && getWinner() == other.getWinner()
		 && getLoser() == other.getLoser()
		 && getEndState() == other.getEndState();
}