## » SimpleParser

…is a simple parser for resolving mathematical terms.

The term is parsed by generating a binary expression tree using the Shunting-Yard algorithm. The implementation itself does not use any external libraries and relies fully on the features provided by the C++ language and the standard library.

This application marks the first steps in C++ I took a couple of years back and is available on Github or cgit.

### Current features

- Calculating terms with basic operators while respecting the priority of each operator
- Support for parentheses
- Support for alphabetic constants
- Export of the expression tree as Graphviz
`dot`

for visualization

### Visualization

The ability to export the internal binary expression tree resulting from the parsed term as Graphviz `dot`

is useful for both visualization and debugging purposes. In the following image you can see the depiction of the tree resulting from the arbitrarily chosen term `2.5*(2+3-(3/2+1*(21+11+(5*2))))`

: