Я хочу проанализировать логическое выражение (в С++). Форма ввода:
a and b xor (c and d or a and b);
Я просто хочу проанализировать это выражение в дереве, зная правило приоритета (не, и, xor, или). Поэтому приведенное выше выражение должно выглядеть примерно так:
(a and b) xor ((c and d) or (a and b));
для синтаксического анализатора.
И дерево будет иметь форму:
a
and
b
or
c
and
d
xor
a
and
b
Вход будет либо через командную строку, либо в виде строки. Мне просто нужен парсер.
Есть ли источники, которые могут мне помочь?