A calculator I made in Java last year. Parses the expression into a tree then uses Depth-first to compute the result. Supports most operations. New operations can be added easily.
You need to have Java Development Kit installed in order to compile the source files.
javac *.java
java CalculatorApplication