COMPILADORES

Páginas: 5 (1246 palabras) Publicado: 16 de agosto de 2013
COMPILADORES
COMPILADOR: REVISA ERRORES (LEXICO-MAL ESCRITO, SITACTICO-NORESPETAR EL ORDEN, SEMANTICO- MAL ESCRITO EL CARÁCTER)
Diagrama básico de un compilador









TOKENS
-Palabras reservadas: scanr, if, for, printf…
-Identificadores: x, y, variable1, cent, ()…
-Operadores aritméticos: +, -, *, \, ,…
-Puntuación: “, ;, _, ‘\n’, ‘\t’,…
-Operadores lógicos: |,&…GRAMATICA:
-terminales
-no terminales
-reglas de produciion
E=E+T
E=E-T
E=T
T=no int
E => E+T REGLAS DE PRODUCIION
E => E-T REGLAS DE TERMINALES
E => T REGLAS NO TERMINALES
E => NO INT

Escribe una gramatica para estreucturas que considere un articulo y un sustantivo
O => A \__/ S
A=> EL/LA/LOS/LASS=> SUSTANTIVO
EL PIZARRON


1) –FUNCIONES BASICAS DE UN COMPILADOR
-ESQUEMA DE LOS ELEMENTOS DEL COMPILADOR
-EN QUE NIVEL DE ANALISIS SE UTILIZANLOS TOKENS COMO ENTRADA
-DETECCION DE ERRORES
-TADUCCION A CODIGO MAQUINA

2)-ESQUEMA DE LOS ELEMENTOS DEL COMPILADOS
ANALISIS LEXICO
ANALISIS SINTACTICO
ANALISIS SEMANTICO
GENERACION DE CODIGO INTER
OPTIMIZACIONGENERACION DE CODIGO MAQUINA


3)-EN QUE NIVEL DE ANALISIS SE UTILIZARAN LOS TOKENS
ANALISIS LEXICO
IF (I==J)
Z=0;
ELSE
Z=1;
\Z IF (I==J); \n \+\+\Z=0;\n\t else \n\t\t2=1;
El análisis léxico consiste en reconocer TOKENS en strings de entrada. El objetivo del análisis es particional el strings en supstrings, donde los supstrings son los tokens.
Un TOKEN es una categoría sintáctica en españolseria un sustantivo, verbo, adjetivo. En un lenguje de programación, es un identificador , un entero, una palabra, reservada un espacio en blanco.
Los tokens corresponden a una tupla, algunos conjuntos utiles son: identificadores, son strings letras o digitos que empiezan con una letra.
-Entero: es un string no basio de digito
-Palabra reservada: como else, if, for, while…
-Espacios en blanco:Es una secuencia no basia de blancos tabulas, nueva línea, etc.
Rol del administrador léxico
PROGRAMA FUENTE TOKEN
GET
NETX
TOKEN


Como se construya un analizador léxico
Para entender su construciion necesitamos definir lo sig.
1) Alfabeto: es un conjunto infinito de simbolos y se representan con la letra ∑
2) Palabra: un palabra sobre un alfabeto sigma una secuencia finitapertenecientes a sigma
∑ = { . o + } ++ o . . o . + .
o o o
+ + +
3) Lebguaje: un lenguaje sobre el alfabeto sigma es un suconjunto de ∑* a todos las combinaciones del alfabeto (LC∑*)
Asumiremos tambn que ¥L € €L
L=[++O, O.**€] hola\o


Ejemplo de Alfabeto:
Caracteres de lenguajeespañol
Código ascii
Binario

Ejemplo de lenguajes:
Frases del español
Lenguaje de programación C

Notar que no toda combinación de caracteres del alfabeto español pertenece al lenguaje español.
Lo mismo sucede en lenguaje de programación por lo que necesitamos una notación para especificar cuales subconjuntos son los que nos interesan
Sean L y M dos lenguajes la unión se define como LUM=[s|s€Lv s€M]
LUM Union
| Tal que
€ Elemento sea
Concatenacion
LпM =[s€L п s€M]

Definimos L°=(€) como elemento vacio
El lenguaje L¹=(L) ek elemento L¡=[L¹]
L°=[€]
L¹=[L]
L¡=[L°-¹]
L²= [LL]
L³=[L²L]-[LLL]
CLAUSURA
L*=U˜L¡
UNI i=0
L0, L1, L2, L3, L4

Analizador léxico(desarrollo)
Considerar la siguiente tabla de TOKENS para sustituir un analizador léxico que permite alreconocimiento de dichos elementos:


LEXEMA
TOKEN
VALOR
<
RELACION
LT

RELACION
GT
>=
RELACION
GE



2) DIAGRAMA DE TRANSICION

ALGORITMO SINTACTICO
Para todo 5 que pertenezca a “r” o a”s”, sea x1x1 xk has lo sig.
For all SE R/S --> x1 x2 . . . xk do
Para i que comienza en 1 y termina en K has lo sig.
For i=1 to k do
Si X i es un no terminal entonces
If X i en un no terminal...
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