COMPILADORES

Páginas: 5 (1092 palabras) Publicado: 1 de junio de 2014
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS
CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES
TRABAJO DE INVESTIGACIÓN DE JAVA
Análisis del Compilador.
Diagrama Funcional del Compilador.
20 Palabras Reservadas agrupadas por token, lexema y patrón.
Tipo de Compilador que Aplica Java.
Delimitadores Validos de Java agrupados por token, lexema y patrón.

MATERIA:Compiladores
CURSO: S7K
GUAYAQUIL – ECUADOR
2014

1. ANÁLISIS DEL COMPILADOR.
El compilador es un programa que se encarga de leer un archivo de
determinado lenguaje de programación y "traducirlo" al lenguaje máquina que es
el conjunto de instrucciones (en el caso de las computadoras, el lenguaje binario)
que la computadora soporte o "interpreta".
Al leerse nuestro código fuente, elcompilador comienza 3 procesos de análisis:
 Léxico
 Sintáctico
 Semántico
Análisis léxicos
Este analizador se encarga de formar los componentes léxicos del lenguaje Fuente.
Estos componentes reciben el nombre de token. Un token es un elemento que
puede formar parte del lenguaje fuente.
Para implementar un analizador léxico necesitamos un DTE (diagrama de
transición de estados) que nosproporcione la especificación léxica del lenguaje
fuente.
Análisis sintáctico
Este analizador se encarga de formar componentes sintácticos del lenguaje fuente.
En definitiva, nos permitirá saber si un texto concreto pertenece al conjunto de
posibles textos de un lenguaje.
Para implementar un analizador sintáctico necesitamos una gramática que nos
proporcione la especificación sintáctica dellenguaje fuente.
Una gramática está formada por una serie de reglas. Cada regla tiene una parte
izquierda y una parte derecha. Si se reconoce la parte derecha de una regla, se
puede sustituir todo por la parte izquierda de la misma regla. Las reglas están
Formadas por dos tipos de símbolos:
No terminales: también llamados variables y que se expanden en partes
derechas de otras reglas.Terminales: son tokens de la especificación léxica.
Ejemplo: queremos especificar la sintaxis de operaciones aritméticas de números
enteros. Las operaciones en cuestión son la suma y la resta.
Una primera aproximación podría ser:
E→E+E
E→E–E
E → nint
Los tokens son:
+: El signo más (suma)

-: el signo menos (resta)
nint: un número entero, cuya expresión regular sería [0-9]*
Sin embargo, estagramática no es válida ya que es ambigua. La ambigüedad es
un problema bastante importante ya que implica que puede haber más de un árbol
de derivación para encontrar una misma cadena. No se pueden implementar
analizadores mediante gramáticas ambiguas, ya que aparecerían conflictos.
Veamos dos árboles de derivación con la primera gramática para formar la
Expresión 1+1:
Análisis Semántico.
Lafase de análisis semántico revisa el programa fuente para tratar de encontrar
errores semánticos y reúne la información sobre los tipos para la fase posterior de
generación de código. En ella se utiliza la estructura jerárquica determinada por la
fase de análisis sintáctico para identificar los operadores y operando de
expresiones y proposiciones.
Un componente importante del análisissemántico es la verificación de tipos. Aquí,
el compilador verifica si cada operador tiene operando permitidos por la
especificación del lenguaje fuente. Por ejemplo, las definiciones de muchos
lenguajes de programación requieren que el compilador indique un error cada vez
que se use un número real como índice de una matriz. Sin embargo, la
especificación del lenguaje puede imponer restricciones alos operando.
Generación de código intermedio
Después de los análisis sintáctico y semántico, algunos compiladores generan una
representación intermedia explícita del programa fuente. Se puede considerar esta
representación intermedia como un programa para una máquina abstracta
La representación intermedia puede tener diversas formas. Existe una forma
intermedia llamada «código de tres...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Compiladores
  • Compilador
  • COMPILADORES
  • Compiladores
  • Compiladores
  • Compiladores
  • compiladores
  • Compiladores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS