El documento habla sobre la etapa de generador de código intermedio en la compilación de lenguajes de programación. En esta etapa, el análisis semántico se transforma en una representación cercana a un lenguaje intermedio como el código de tres direcciones. El código de tres direcciones consiste en instrucciones con hasta tres operandos en la forma x = y op z, y sigue reglas como generar nombres temporales y que algunas instrucciones pueden tener menos de tres operandos.
3. Generador de Código Intermedio Ya hemos pasado por las etapas de análisis léxico, sintáctico y semántico, ahora viene la etapa de generador de código intermedio. El generador de código intermedio transforma la salida del análisis semántico, en una representación cercana a un lenguaje intermedio cercano al código objeto. Esta representación intermedia debe tener dos propiedades importantes; debe ser fácil de producir y fácil de traducir al programa objeto. Existen varias formas de representar el código intermedio, mediante árboles sintácticos, notación postfija y código de tres direcciones.
4. Código de tres direcciones. El código de tres direcciones consiste en una secuencia de instrucciones, cada una de las cuales tiene como máximo tres operandos Es un tipo de código que lo podemos representar en su forma general como la siguiente preposición: x: =y op z Donde “ x”, ”y” y ” z” pueden ser nombres, constantes o variables temporales y ” op” representa cualquier tipo de operador. Por lo general se siguen tres reglas básicas para este método, las cuales son:
5. Código de tres direcciones. Primera .- Cada instrucción de tres direcciones contiene por lo menos un operador, además de la asignación, por tanto, cuando se generan estas instrucciones, el traductor tiene que decidir el orden en que deben efectuarse las operaciones. Segunda .- El traductor debe generar un nombre temporal para guardar los valores calculados por cada instrucción. Tercera .- Algunas instrucciones de "tres direcciones" tienen menos de tres operandos, por ejemplo, la asignación.