# Evaluating Mathematical Expressions
```
for char c in expression
if c is operator
push to 'op stack'
else if c is number
if next operator has higher priority
push to 'number stack'
else
a, b = pop 2 numbers from 'number stack'
op = pop 1 operator from 'op stack'
result = a op b
push result to 'number stack'
else
do nothing
```