Shunting Yard Algorithm
//Shunting Yard Algorithm
While there are tokens to be read:
Read a token
If it's a number add it to queue
If it's an operator
While there's an operator on the top of the stack with greater precedence:
Pop operators from the stack onto the output queue
Push the current operator onto the stack
If it's a left bracket push it onto the stack
If it's a right bracket
While there's not a left bracket at the top of the stack:
Pop operators from the stack onto the output queue.
Pop the left bracket from the stack and discard it
While there are operators on the stack, pop them to the queue