Start evaluation at a central expression--there can be more than one of these. It will look like E1 F E2 where F is a function operator--like +, -, * or /--and E1 and E2 are either numbers or another infix expression. If E1 and E2 are both numbers, apply the operator to get a numbers. Keep doing this until there's only a number left; this number is the evaluation of the original infix expression. For example, if you choose + as the central expression in 3 + 4 * 5, it is a number-function-expression. We must evaluate 4 * 5 first. This is in the form number-function-number so we can evaluate it: 4 * 5 = 20. Now the original expression is 3 + 20, which is 23.
Parenthesize expressions that may be ambiguous. For example, the infix expression 3 + 4 - 5 gives two different answers depending on whether the addition or the subtraction is performed first. Parentheses will disambiguate the process: (3 + 4) - 5 = 2 and 3 + (4 - 5) = -1 and there is no ambiguity in either case. The rule for evaluating infix expressions with parentheses is to work from the inter-most parentheses outward. For example, 3 + ((4 - 2) * 5) = 3 + (2 * 5) = 3 + 10 = 13.
Reduce the number of parentheses and simplify expressions by using an order of precedence system. The heart of the rule is that multiplication and division are higher precedence (get evaluated first) and that if two operators are the same precedence level, evaluation proceeds from left to right. Using these rules, 3 + 4 * 5 = 23 because multiplication gets done first--it is higher precedence. 3 + 4 - 5 = 2 because addition and subtraction are the same precedence so the left operator is performed first.