aboutsummaryrefslogtreecommitdiff
path: root/source/00_content/pages/projects/simple_parser.md
blob: cf4ed3dae9cdf9a657ff290fc55d79686efc7112 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 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

[Graphviz]: http://www.graphviz.org/
[Github]: https://github.com/KnairdA/SimpleParser/
[cgit]: http://code.kummerlaender.eu/SimpleParser/
[Shunting-Yard]: http://en.wikipedia.org/wiki/Shunting-yard_algorithm