1 Assignment Policies Collaboration Policy. The project is to be completed individually: each student must hand in the student's own answers. It is acceptable for
1 Assignment Policies Collaboration Policy. The project is to be completed individually: each student must hand in the student's own answers. It is acceptable for students to collaborate in understanding the material but not in solving the problems or programming. Use of the Internet is allowed, but that should not include searching for existing solutions. Under absolutely no circumstances code can be exchanged among students. The code presented in the book and in class can be used. 2 Assignment You have to implement a calculator that would pars evaluate an arbitrary expression that may 1) Rational numbers (e.g., 4.5669 or -3.5); 2) Parentheses '(' and ')'; 3) Operators "+", "-", "*", "/", and "^". The latter operator is that of exponentiation, which, has the highest precedence. Your code must handle rational exponentsincluding the negative ones.
2 Your program must 1 use a recursive-descent technique, as explained in class, based on the following grammar for expressions, as discussed in class:
3 Extra points for this feature will be given only if the rest of the program is working. 4 Submission instructions Submit a single file named Expression.zip through Canvas that includes Calculator.java and CalculatorTest.java with your test cases.. Make sure that you test your code well! Up to 20 points will be deducted for each of the following problems: 1) An ill-formed expression is not detected or a wrong error message is given; 2) The calculation result is wrong. The code must be well-commented. The code that does not compile or crashes will be found unacceptable.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started