You are to write an ML version of the ExpressionCalculator class that will produce, as closely as possible, the same runtime behavior as the Java code or the Scheme code. Please see the description for the EBNF and other details. Note that we won't be able to make the output of the ML code look exactly the same, since again there will small differences in how floating-point values are represented and printed.
Use [login to view URL], and a driver, [login to view URL] to work on the [login to view URL] code, [login to view URL] is the main class that will use ENBF form to compute tokens. Since ML does have exception handling, we won't have to use continuations as in Scheme, so there are error handling code already included.
The [login to view URL] code should run with the scanner and driver code. You may, if you wish, change skeleton code, as long as your expressionparser continues to run with the scanner and driver. I would reccommend, though, that you keep the code intact.
As with any code you must document everything you created. Follow the examples of documented in the driver and scanner.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Windows