Pasante De Ciclo Comun
Asignatura:
COMPILADORES E INTERPRETES II
Catedrático:
Ing. Rafael Polo.
Integrantes:
Ingeniería en Sistemas
Lugar y Fecha:
Tocoa, Colón 20 DE OCTUBRE 2012
Índice
Contenido Pagina
Introducción--------------------------------------------------------------------------------3
Objetivos-------------------------------------------------------------------------------------4
Contenido-------------------------------------------------------------------------------- 5-13
Conclusiones--------------------------------------------------------------------------------14Bibliografia---------------------------------------------------------------------------------15
Introducción
En el presente informe damos a conocer los 4 tipos de código intermedio entre ellos: código Grafico, código estandarizado, código tipo maquina código P.
El código intermedio es un código que puede generar un compilador y que es un punto de acercamiento al código objeto al que se desea llegar. Uno de los códigos intermediosmás utilizados es el código de tres direcciones.
Objetivos
• Tener una visión más amplia de la generación de código intermedio.
• Identificar la complejidad de cada uno de los códigos investigados ya sea de alto nivel, de medio nivel o de bajo nivel
• Explicar las propiedades, características ventajas y algunasdesventajas de los códigos investigados.
Código Intermedio Java
El lenguaje de programación Java, utiliza un código intermedio de máquina virtual, llamado Java byteco. Éste código lo genera el compilador de Java, que posteriormente será interpretado. El lenguaje Byte code, es un lenguaje que se compone de instrucciones que tienen un tamaño de un Byte, esto leda su nombre al código. Este código se compone de un código de operación que va desde el cero hasta el doscientos cincuenta y cinco (0 - 255) y dicho código va seguido de parámetros como las direcciones de memoria, nombres delos registros, etc. (como el código ensamblador).
[pic]
A continuación se muestra una traducción de código Java a Código Bytecode de ejemplo:
public class X {public static void main(String[] args) {
add(1, 2);
}
public static int add(int a, int b) {
}
}
Traducción:
public static void main(java.lang.String[]);
Code
:0: iconst_1
1: iconst_2
//Method add:(II)I
2: invokestatic #2;
5: pop
6: return
public static int add(int,int);
Code:
0: iload_0
1: iload_1
2: iadd
Cabe aclarar que Java es un lenguaje que escompilado e interpretado. Al inicio, se compila normalmente, pero no se genera directamente un código máquina, sino un código de un nivel más abstracto para luego ser interpretado por un intérprete, que suele llamarse Máquina Virtual de Java (Java Virtual Machine). Éste proceso es llamado generación de Código intermedio de máquina virtual
,que es otro tipo de código intermedio, y es utilizado pormuchos compiladores de distintos lenguajes como:
➢ Pearl,PHP o Ruby.
En realidad lo que hace este proceso es una pre-compilación para luego realizar una interpretación con intérpretes llamados
El código intermedio (Byte Codes) está compilado para una máquina virtual (un procesador que no existe). Este código se tiene que volver a interpretar. Las consecuencias son que un programa de Javafunciona en cualquier plataforma y es relativamente lento.
✓ El acceso al hardware está bastante restringido, principalmente por razones de seguridad.
✓ Es distribuido (todas las clases no tiene por qué estar en el mismo sitio)
✓ El compilador es totalmente gratuito. Al kit de desarrollo de Java se le entiende por JDK (Java Development Kit) siendo un conjunto de herramientas...
Regístrate para leer el documento completo.