Я думаю, что это зависит от контекста и зависит от количества операндов, с которыми вы сталкиваетесь при синтаксическом анализе исходного кода.
В зависимости от типа синтаксиса, который вы выбираете / встречаете, у вас либо будет что-то подобное, когда вы 'Вы имеете дело с вычитанием:
operand1 - operand2
или если ваш язык использует префиксную нотацию, вы получите что-то вроде этого:
- operand1 operand2
(- operand1 operand2)
В обоих случаях вы сможетевыведите из предыдущего токена (в случае инфиксной записи) или из предисловия к следующему токену / следующим двум токенам), если вы имеете дело с вычитанием или отрицательным числом, учитывая, что последний будет иметь только один операнд.