Escolar Documentos
Profissional Documentos
Cultura Documentos
Parte I
Esquema General
Limitaciones de los lenguajes regulares
Resumen del anlisis sintctico Gramticas libres de contexto Derivaciones
Lenguajes y Autmatas
Los lenguajes Formales son muy importantes en Ciencias de la Computacin.
Especialmente en los lenguajes de programacin
Lenguajes Regulares
Aunque es el lenguaje formal ms simple, es el ms usado. Muchas aplicaciones (buscadores, circuitos, etc.)
Ejemplo
Fragmento de programa en CIf x==y 1 else 2
Entrada al Parser
IF ID == ID INT ELSE INT
Lexer
Parser
Ejemplos
int
int + int (int + int ) * int Son expresiones.
Observaciones
Todas las expresiones aritmticas se pueden obtener por una secuencia de reemplazos Cualquier secuencia de reemplazos forma una expresin aritmtica vlida Esto significa que no podemos obtener ( int )) mediante reemplazos. Porqu? Esta notacin es una gramtica libre de contexto
Un conjunto de terminales T
Por convencin se escriben con nombres de letras minsculas o puntuacin.
Ejemplo de GLC
Expresiones aritmticas simples
E int EE+E EE*E E(E)
X
Significa X puede ser borrada (reemplazada por la cadena vaca)
Idea Clave
1. Comenzar con una cadena que consiste del smbolo inicial S 2. Reemplaza cualquier no terminal X en la cadena por una del lado derecho de alguna produccin
X Y1 Yn
Si
X1 Xn Y1 Ym
En 0 ms pasos
Ejemplo
S0 tambin se escribe como S 0 1 S1 Genera el lenguaje {0,1}
La gramtica S 1A A 0 1 La gramtica S 1A A 0 1A La gramtica S (S)