...
while(tokens left to parse)
{
	string token = GetNextToken();	//	Get next token from original string
	
	if(token == a number)
		OutputStack.Push(token);
	else
	{
		if(Precedence(token) > Precedence(TemporaryStack.LastOperator))
			TemporaryStack.Push(token);
		else
		{
			while(Precedence(token) <= Precedence(TemporaryStack.LastOperator))
			{
				lastOperator = TemporaryStack.Pop();
				OutputStack.Push(lastOperator);
			}
			TemporaryStack.Push(token);
		}
	}
}

while(TemporaryStack is not Empty)
{
	lastOperator = TemporaryStack.Pop();
	OutputStack.Push(lastOperator);
} 
...
