Está en la página 1de 4

TECNOLÓGICO NACIONAL DE MÉXICO

INSTITUTO TECNOLÓGICO SUPERIOR DE


ZONGOLÍCA

LENGUAJES Y AUTÓMATAS II

FASES DEL COMPILADOR DE JAVA

Presenta:

Marco Antonio Romero Andrade

Ingeniería en Sistemas Computacionales

Docente:

ISC Eder Jair Melo Estrada

Nogales, Veracruz, 12/09/2023


Contenido
Introducción. ................................................................................................................................... 3

Etapas de la compilación. ............................................................................................................... 3

1. Análisis. ............................................................................................................................... 3

1.1. Análisis léxico. ................................................................................................................. 3

1.2. Análisis sintáctico. ........................................................................................................... 3

1.3. Análisis semántico............................................................................................................ 3

2. Generación de código intermedio. ....................................................................................... 3

2.1. Generación de código objeto. ........................................................................................... 4

2.2. Optimización. ................................................................................................................... 4

3. Generación de código. ......................................................................................................... 4

Funcionamiento del compilador en Java......................................................................................... 4

Bibliografía ..................................................................................................................................... 4
Introducción.
Los compiladores son programas complicados, pero afortunadamente se tiene el conocimiento de
como llevar a cabo su estructuración. Actualmente hay herramientas suficientes para que la
complejidad de estos compiladores se vea reducida considerablemente.

Etapas de la compilación.
1. Análisis.
Su función es obtener una representación de la entrada para realizar la síntesis de manera correcta.
Para realizar éste proceso se lleva a cabo el uso de árboles de sintaxis abstracta. Para llevar a cabo
esta tarea más sencilla, esta etapa se divide en 3 fases más:

1.1. Análisis léxico.


Es donde se analiza a entrada carácter a carácter y se clasifican en diferentes categorías en donde
reciben atributos con información importante para las siguientes fases.

1.2. Análisis sintáctico.


Su principal trabajo es en descubrir las estructuras presentes en el código, una vez encontradas, el
analizador construye un árbol sintáctico, el cual nos va a permitir expresar como se puede obtener
la entrada a partir de las reglas.

1.3. Análisis semántico.


Como última fase del análisis, toma como entrada el árbol sintáctico y comprueba las restricciones
impuestas por el lenguaje.

2. Generación de código intermedio.


Es el proceso de traducción de la entrada a una representación independiente de la máquina y que
al mismo tiempo sea de fácil traducción para el lenguaje ensamblador. Algunas de las
representaciones que se le da a esta fase puede ser:

• Árboles de representación intermedia.


• Código de tres o dos direcciones.
• Código de pila.
2.1. Generación de código objeto.
Es el siguiente paso después de la obtención del código intermedio. Generalmente no se genera el
código objeto directamente, sino que se genera primero en lenguaje ensamblador y después de eso
se utilice un ensamblador.

2.2. Optimización.
Cuando se realiza la generación de los dos tipos de código anterior, es habitual que la traducción
es bastante ineficiente. Así que en esta fase se realiza la optimización del código generado, que se
puede asumir como la eliminación de líneas innecesarias para poder acelerar la ejecución del
programa sin el desperdicio de recursos en la CPU o en la memoria RAM.

3. Generación de código.
Se toma la versión optimizada del código y se mapea al lenguaje de máquina objetivo. Más tarde,
el enlazador del sistema operativo tomará las instrucciones y les podrá asignar un espacio en la
memoria para que pueda funcionar de manera adecuada.

Funcionamiento del compilador en Java.


La función del compilador es convertir un programa escrito en Java a un lenguaje en el que la
computadora pueda comprender. Estos programas se convierten en códigos de bytes. Cuando llega
la hora de compilar el programa, el compilador verifica que se cumplan las reglas de programación
en Java, y si se encuentra que algo no está cumpliendo con dichos reglamentos, se notifica el
mensaje de error que es más apropiado

Bibliografía
Codesi, G. (s.f.). El compilador de Java. Obtenido de https://www.buscaminegocio.com/cursos-
de-java/compilador-de-java.html

Jaume, U. (2010-2011). Estructura de los compiladores e intérpretes. Obtenido de


https://repositori.uji.es/xmlui/bitstream/handle/10234/22656/II26_estructura_compiladore
s.pdf?sequence=1&isAllowed=y

También podría gustarte