for example, the source code might contain an equation, such as "x = 5*10 ". the lexical analyzer would separate each number and symbol (such as "*" or "+") into separate tokens. the parser would note the pattern of tokens, as being an equation. the intermediate-code generator would write a form of coding which defines a storage variable named "x" and assigns the numerical product of 5*10 plus 6 and 1. the optimizer would simplify the calculation, of 5*10+6+1, as being just 57. hence, the target machine-code generator would set a variable named "x" and put the value 57 into that storage place in the computer's memory, using the instructions of whichever computer chip is being used.