aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: d6f8b2c24dc2a4abdd358bf012e475cdafd746b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# SimpleParser

... is a simple parser for resolving mathematical terms. 

The term is parsed by generating a binary expression tree using the [Shunting-Yard](http://en.wikipedia.org/wiki/Shunting-yard_algorithm) 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.

## 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](http://www.graphviz.org/) dot for visualization

## Requirements:

- C++ compiler with support for new C++11 language and standard library features such as the `auto` keyword and `unique_ptr` (tested with GCC 4.7.2 on Linux)
- [GoogleTest](http://code.google.com/p/googletest/) for tests