Я создаю дерево разбора, которое будет содержать выражения, подобные
3 - 4 * 8
или
8 * -5
или
- (10 * 1)
Мне нужен способ различать унарный и двоичный минус. Моя грамматика работает сейчас так, что двоичный минус достигается первым, но я думаю изменить это и добавить переменную флага, которая содержит последнюю переменную.
Пример: если это 5 - 6
Флаг удерживает 5, и если он видит минус, а флаг является числом, то пропустить унарный и перейти к двоичному.
Однако я точно не знаю, как это реализовать на C++.
Будем признательны за любую помощь.
Спасибо