programa fuente a una representación intermedia a partir de la cual la etapa final
genera el código objeto.
Los detalles del lenguaje objeto se confinan en la etapa final, si esto es posible. Aunque un programa fuente se puede traducir directamente al lenguaje objeto, algunas
ventajas de utilizar una forma intermedia independiente de la máquina son:
1. Se facilita la redestinación; se puede crear un compilador para una máquina
distinta uniendo una etapa final para la nueva máquina a una etapa inicial ya existente.
2. Se puede aplicar a la representación intermedia un optimizador de código
independiente de la máquina.

Hay lenguajes que son pseudointerpretados que utilizan un código intermedio llamado
código-P que utiliza lo que se denomina bytecodes (sentencias de un μP hipotético). Por ejemplo
Java utiliza los ficheros .class, éstos tienen unos bytecodes que se someten a una
JavaVirtualMachine, para que interprete esas sentencias.
En este capítulo se muestra cómo se pueden utilizar los métodos de analizadores dirigidos
por la sintaxis para traducir a un código intermedio, construcciones de lenguajes de programación
como declaraciones, asignaciones y proposiciones de flujo de control. La generación de código
intermedio se puede intercalar en el análisis sintáctico.
No hay comentarios:
Publicar un comentario