Я бы сформулировал такие требования к калькулятору:
1) Калькулятор должен уметь работать с константами:
1.1) Должна быть константа "пи".
2) Калькулятор должен выполнять операции:
2.1) деление (левоассоциативная);
2.2) возведение в степень (правоассоциативная);
2.3) унарный минус (неассоциативная).
3) Калькулятор должен уметь работать со скобками, чтобы изменять порядок вычислений.
4) Операции не должны стоять рядом
(Т.е. пи/-пи это некорректное выражение. Скобки операциями не считаются. пи/(-пи) - корректно.).
5) Калькулятор должен уметь вычислять функции:
5.1) должна быть функция "знак"
(пример: знак(-пи^пи));
Чтобы не писать лексер, "пи" и "знак" сократить до первой буквы.
Этого достаточно.
Отредактировано Лис (2017-09-12 15:35:25)