编译原理双语书 Moving on to the code generation, the goal of this phase is to build a compiler given that the programs in the phase of parser have been strictly recognized without any error, here the error means that the input is an illegal sentence in the grammar. However, before generating code, first you need to build the bar-bones recognizer.
We need create some temporary variables and maintain internally by the compiler. The step of generating Code is as follows. First, create a mechanism for allocating temporaries. In fact, the temporaries should be recycled, that is they should be reused after they are no longer needed in the current subexpression. Second, determine the name of the temporary that uses arguments and return values. So, this section of code generator consists of generating code for a binary operator, generating code for a copy instruction, generating code for an instruction which loads the argument into a register, and then write it onto the new stack frame, including the standard call sequence and the standard return sequence.