You will define a calculator for simple arithmetic expressions in scheme. For example, when typing (calculator '( 1 + 2)), scheme interpreter will print 3. The calculator will accept expression of any length, and the expression associates to the right. For example, in (calculator '(1 + 1 - 2 + 3 )) the expression is interpreted as (1+ (1 -(2+3))), hence the value is -3.
You can assume that the expressions have + and - operators only. In addition, there are no brackets in expressions.
The syntax for the expression is
exp ::= number | exp op exp op ::= + | - | * | /Note that the arithmetc expression supports four operators.
If you evaluate the expression using left associativity, you will be awarded with one bonus mark. For example, the above example should be interpreted as (1 + 1 - 2 + 3) should be interpreted as ( ((1 + 1 ) -2) + 3), therefore the result is 3. In your submission please indicate whether it is left associative or right associative. You only need to submit one version of your program, i.e., either left associative or right associative.
You can assume that the input is a correct arithmatic expression. We will not test cases like
(calculator '(1 + ))or
(calculator '(- 1 + 2))