while more data read an item if item is number push string(item) else if item is operator pop stringTop from stack pop stringBottom from stack push string("(") + stringBottom + string(operator) + stringTop + string(")") pop infix expression from stack