Я хочу оценить одно выражение на C++. Чтобы оценить это, я хочу, чтобы выражение было преобразовано в формат префикса.Преобразование C++ для префикса для логических условий
Вот пример
wstring expression = "Feature1 And Feature2";
Вот возможные пути.
expression = "Feature1 And (Feature2 Or Feature3)";
expression = "Not Feature1 Or Feature3";
Здесь И, Или, Не зарезервированных слов и круглые скобки ("(", )) используются для охвата
Не имеет более высокий приоритет
И is s и др рядом приоритете Не
Или устанавливается в следующем приоритете И
Пустое пространство используется для разделителей. Выражение не имеет не других элементов, таких как TAB, NEWLINE
Я делать не нужны арифметических выражений. Я могу сделать оценку, но может ли кто-нибудь помочь мне преобразовать строки в префиксную нотацию?
По соглашению TAB и NEWLINE являются типами WHITESPACE. Вы действительно имели в виду персонажа SPACE? Просьба уточнить ваш вопрос с этой информацией. –
Преобразование инфикса в префикс - это аккуратное домашнее задание, но бесполезное в реальном мире.Опции: (A) Parse infix и go (B) Parse infix, перевести на префикс, создать префикс, синтаксический префикс, перейти. Даже если префикс синтаксического анализа проще, процесс _conversion_ выполняется медленнее. –