It supports addition, subtraction, multiplication, division and raise to power. It recognizes the priority of operations, multi level brackets and exponential form of numbers. Requires separator between elements of expression. Unnecessary separators can be identified and removed from operation. Handles the following errors:
- neither numeric, nor operator element;
- no operator between values;
- no value between operators;
- bracket not closed";
- no numeric value in operation";
- divide by zero;
- unnecessary closing bracket.