Задача состоит в том, чтобы реализовать текстовый калькулятор на Java. Ввод представляет собой строку символов, представляющую выражение, вывод должен быть вычисленным значением выражения.
Следует поддерживать следующее:
целые числа,
операторы +,,, ( целочисленное деление) -,*/
унарный минус,
скобки с любым уровнем вложенности.
Необходимо вручную создавать парсер, поэтому нет возможности использовать т.н. генераторы парсеров. Дизайн анализатора должен соответствовать контекстно-свободной грамматике, поставляемой с проектом. Следует использовать оценку (интерпретацию) значения выражения на основе синтаксиса.