Задача 2: Реализуйте поддержку выражений со скобками

Задача 2: Реализуйте поддержку выражений со скобками

Как именно выполнять:

1. Составить ФБН для выражения поддержку которого требуется реализовать, за основу берем схему, составленную и проверенную ранее.
2. Создаем в своем репозитории новую ветку для реализации задачи со скобками - ответвляемся от созданной, для решения предыдущей задачи.
3. Добавляем тесты по мере решения задачи (и до и в процессе решения ;)
4. Выполнить реализацию, опираясь на составленную ФБН, добиться того, чтобы тесты выполнялись

Вот такую ФБН составил

<Digit> ::= [0-9]
<UnsignedInteger> ::= "0" | ([1-9] <Digit>*)
<Multiplier> ::= <UnsignedInteger> | <UnaryMinus> | "(" <Expression> ")"
<UnaryMinus> ::= "-" <Multiplier> 
<Multiplication> ::= ( <Multiplier> | <Multiplication> | <Division> ) "*" <Multiplier> 
<Division> ::= ( <Multiplier> | <Multiplication> | <Division> ) "/" <Multiplier> 
<Term> ::= <Multiplier> | <Multiplication> | <Division> | <UnaryMinus>
<Addition> ::= ( <Term> | <Addition> | <Subtraction> ) "+" <Term>
<Subtraction> ::= ( <Term> | <Addition> | <Subtraction> ) "-" <Term>
<Expression> ::= <Term> | <Addition> | <Subtraction>