Вычислить значение простого логического выражения - C#
Формулировка задачи:
Написать процедуру, которая по заданному простому логическому выражению вычисляет его значение.
логическое выражение.:= TRUE | FALSE | NOT логическое_выражение |
(логическое_выражение знак_операции логическое_выражение);
знак_операщш::= AND | OR;
Не прошу пока решения. Прошу объяснить что от меня требуется и как примерно я должен это реализовывать. Можете привести простой пример чего-то подобного если можно.Буду благодарен за помощь.
Решение задачи: «Вычислить значение простого логического выражения»
textual
Листинг программы
bool Calculate()
{
if (NextSymbol == 'T')
{
Match("TRUE"); // считываем TRUE
return true;
}
if (NextSymbol == 'F')
{
Match("FALSE");
return false;
}
if (NextSymbol == '(')
{
Match('(');
bool left = Calculate();
Match(' ');
string op = ReadOperator();
Match(' ');
bool right = Calculate();
Match(')');
if (op == "OR")
return left || right;
if (op == "AND")
return left && right;
throw new Exception();
}
throw new Exception();
}