#include "model/terminal_rules/BINARY_OPERATOR.h"
#include <cassert>
#include <list>
using namespace std;
// ---------------------------------------------------------------------------
const bool BINARY_OPERATOR::Check_For_String()
{
if (!Is_Valid())
return false;
m_string_count++;
if (m_string_count > 4)
return false;
switch (m_string_count)
{
case 1 :
{
return_value = "<=>";
break;
}
case 2 :
{
return_value = "and";
break;
}
case 3 :
{
return_value = "or";
break;
}
case 4 :
{
return_value = "=>";
break;
}
}
strings.clear();
strings.push_back(return_value);
return true;
}
// ---------------------------------------------------------------------------
const list<string>& BINARY_OPERATOR::Get_String() const
{
assert(m_string_count <= 4);
return strings;
}
// ---------------------------------------------------------------------------
const string& BINARY_OPERATOR::Get_Value()
{
Set_Accessed(true);
return return_value;
}