DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES

Tamaño: px
Comenzar la demostración a partir de la página:

Download "DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES"

Transcripción

1 1 DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES Los LENGUAJES FORMALES están formados por PALABRAS, las palabras son CADENAS y las cadenas están constituidas por SÍMBOLOS de un ALFABETO. SÍMBOLOS y ALFABETOS Simbolo: elemento constructivo básico; es la entidad fundamental, indivisible. ALFABETO conjunto finito de símbolos. Se lo identifica, habitualmente, con la letra griega (sigma) La letra a es un símbolo o carácter que forma parte del alfabeto español, del alfabeto inglés, etc. Los símbolos >, = y + son elementos del alfabeto de los operadores de los lenguajes Pascal y ANSI C. El alfabeto = {0, 1} proporciona los caracteres utilizados en la construcción de los números binarios. Los números enteros con signo en base 10 se construyen con símbolos del siguiente alfabeto: = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -, +} CADENAS secuencia finita de caracteres tomados de cierto alfabeto y colocados uno a continuación de otro. LONGITUD DE UNA CADENA La LONGITUD de una cadena S (se representa S ) es la cantidad de caracteres que la componen. CADENA VACÍA Se simboliza habitualmente con la letra griega (épsilon), es la cadena que no tiene caracteres. ( = 0). Este símbolo no forma parte de ningún alfabeto. Algunos autores utilizan la letra griega (lambda). UNA SIMPLIFICACIÓN: LA POTENCIACIÓN DE UN SÍMBOLO La POTENCIACIÓN de un símbolo simplifica la escritura. El operador supraíndice utilizado para potenciar un símbolo indica el número de veces que aparece el símbolo potenciado. CONCATENACIÓN DE DOS CADENAS aplicada a cadenas (S 1 S 2 ) produce una nueva cadena formada por los caracteres de la primera cadena seguidos inmediatamente por los caracteres de la segunda cadena. La concatenación NO ES CONMUTATIVA (excepto en casos muy especiales). La cadena vacía ( ) es la IDENTIDAD para la concatenación. S = S = S. POTENCIACIÓN DE UNA CADENA representa la cadena que resulta de concatenar la cadena S, consigo misma, n-1 veces; S 0 es (la cadena vacía), PREFIJO, SUFIJO Y SUBCADENA DE UNA CADENA 1º Un PREFIJO de una cadena es una secuencia de cero o más caracteres iniciales de esa cadena. 2º Un SUFIJO de una cadena es una secuencia de cero o más caracteres finales de esa cadena. 3º Una SUBCADENA de una cadena es una secuencia de caracteres que se obtiene eliminando cero o más caracteres iniciales y cero o más caracteres finales de esa cadena. LENGUAJES NATURALES Y LENGUAJES FORMALES Los Lenguajes Naturales tienen tres características fundamentales: 1º Evolucionan con el paso del tiempo 2º Sus Reglas Gramaticales surgen después que el lenguaje para poder explicar su estructura. 3º El significado de cada palabra y de cada oración, en general, más importante que su composición sintáctica. LENGUAJE FORMAL (LF) es un conjunto de cadenas formadas con los caracteres de un alfabeto dado PALABRA: si una cadena pertenece a un determinado lenguaje es una PALABRA de ese lenguaje. Describamos un lenguaje por enumeración: sea el lenguaje L = {1, 10, 100, 1000, 10000}. este lenguaje puede ser descripto por comprensión, en forma más compacta, así: L = {10 n / 0 n 4} Entonces, la cadena 100 ( uno-cero-cero ) es una palabra del lenguaje L, Un LF puede ser descripto por enumeración, por comprensión, mediante una frase en un lenguaje natural, por gramáticas O

2 2 PROPIEDADES DE LAS PALABRAS longitud de una palabra, palabra vacía, concatenación de dos o más palabras, potenciación de una palabra, prefijos y sufijos de una palabra, subpalabras. La concatenación de dos palabras produce una cadena que no siempre es una palabra del lenguaje CARDINALIDAD DE UN LENGUAJE FORMAL: es la cantidad de palabras que lo componen. SUBLENGUAJES Dado que un Lenguaje Formal es un conjunto, un SUBLENGUAJE es un subconjunto de un lenguaje dado. Sea L1 = {a, ab, aab}. Entonces, L2 = {ab, aab} es un sublenguaje de L1, mientras que L3 = { } es el sublenguaje vacío de L1. El sublenguaje vacío, habitualmente representado con el símbolo ø, es sublenguaje de cualquier lenguaje. No se debe confundir el sublenguaje vacío, que tiene cardinalidad 0, con el lenguaje que solo contiene la palabra vacía, que tiene cardinalidad 1. LENGUAJES FORMALES INFINITOS L = {a n / n 1} es un LF infinito ya que no existe un límite superior para el supraíndice n. LENGUAJE UNIVERSAL SOBRE UN ALFABETO Dado un alfabeto, el LENGUAJE UNIVERSAL sobre este alfabeto es un lenguaje infinito que contiene todas las palabras que se pueden formar con los caracteres del alfabeto, más la palabra vacía. *. Una propiedad fundamental del Lenguaje Universal es que es cerrado bajo concatenación. Ejemplo 41 Si = {a, b}, entonces el Lenguaje Universal para este alfabeto es: * = {, a, b, aa, ab, ba, bb, aaa, aab, aba, abb,..., aabaabbbab, }, Cualquier lenguaje L sobre el alfabeto es un sublenguaje de *. Por lo tanto, existen infinitos lenguajes sobre un alfabeto dado. EJERCICIOS 1. Dado el alfabeto = {a, b, c}, escriba las palabras del lenguaje L = {x / x }. 2. Cuál es la cardinalidad del lenguaje L = {, a, aa, aaa}? 3. Describa, mediante una frase en castellano, el lenguaje del Ejercicio Escriba todas las palabras del lenguaje L = {a 2n+1 / 1 n 4}. 5. Describa, mediante una frase en castellano, el lenguaje del Ejercicio (4). 6. Sea el lenguaje L = {, a, ba, abc}. Cuál es el mínimo alfabeto sobre el que se puede construir este lenguaje? 7. Sea el lenguaje L = {0, 00, 01, 010}. Escriba una concatenación de dos palabras que produce otra palabra de este lenguaje. 8. Sea el lenguaje anterior. Escriba una concatenación de dos palabras que produce una cadena que no es palabra del lenguaje. 9. Sea el lenguaje del Ejercicio (7). Escriba tres sublenguajes de L, de distinta cardinalidad. 10. Sea el lenguaje L = {(ab) 2n / 0 n 100}. Escriba las tres palabras de menor longitud de este lenguaje. 11. Sea el lenguaje del Ejercicio (10). Es cerrado bajo concatenación? 12. Describa, mediante una frase en castellano, el lenguaje del Ejercicio (10). 13. Describa, mediante una frase en castellano, el lenguaje L = {a n b n / 1 n 3000}. 14. Sea = {a, b} y sea el lenguaje *. Cuántas palabras de longitud 3 tiene este lenguaje? Y cuántas de longitud 4?

3 3 15. Sea el lenguaje infinito L = {ab n / n 1}. Escriba las tres palabras de menor longitud. 16. Sea el lenguaje infinito L = {(ab) n / n 1}. Escriba las tres palabras de menor longitud. 17. Sea el alfabeto = {0, 1}. Describa, por comprensión, un lenguaje infinito L sobre (que no sea *). 18. Describa, mediante una frase en castellano, el lenguaje definido en el ejercicio anterior. IMPLEMENTACIÓN EN ANSI C Para cada una de los ejercicios que siguen, construir en ANSI C la función solicitada y un programa que la pruebe con todos los datos constantes que sean necesarios. Longitud de una cadena Determinar si una cadena dada es vacía. Concatenación de dos cadenas. Determinar si una subcadena es Prefijo de una cadena dada.

4 4 GRAMÁTICAS FORMALES Y JERARQUÍA DE CHOMSKY Existen estructuras para generar las palabras que forman un LF. Se denominan GRAMÁTICAS FORMALES (GFs). GRAMÁTICA FORMAL (GF) Una GF es, básicamente, un conjunto de PRODUCCIONES Sea el lenguaje L = {a}, S -> a (se lee S produce a ). Sea el lenguaje L = {a, b}, S -> a y S -> b L = {aa, ab} S -> aa y S -> ab. Pero también S -> at, T -> a y T -> b. Toda producción está formada por tres partes: el lado izquierdo, el lado derecho, y la flecha, que indica que el lado izquierdo de la producción produce (o es reemplazado por o equivale a) el lado derecho. DEFINICIÓN FORMAL DE UNA GF Toda GF es una 4-upla (V N, V T, P, S), donde: V N es el vocabulario de no-terminales o variables (un conjunto finito), V T es el vocabulario de terminales o caracteres del alfabeto sobre el cual se construye el LF que es generado por la gramática descripta (otro conjunto finito), P es el conjunto finito de producciones, y S V N es un no-terminal especial, llamado símbolo inicial o axioma, desde el cual siempre debe comenzar a aplicarse las producciones que generan todas las palabras de un determinado LF. LA JERARQUÍA DE CHOMSKY Las GFs se clasifican según las restricciones que se imponen a sus producciones, y la Jerarquía de Chomsky establece estos cuatro niveles: - Gramáticas Regulares o Gramáticas Tipo 3 - Gramáticas Independientes del Contexto o Gramáticas Tipo 2 - Gramáticas Sensibles al Contexto o Gramáticas Tipo 1 - Gramáticas Irrestrictas o Gramáticas Tipo 0 GRAMÁTICA REGULAR (GR) Sus producciones tienen las siguientes restricciones: el lado izquierdo debe tener un solo no-terminal, el lado derecho debe estar formado por un solo terminal o un terminal seguido por un no-terminal. Algunos autores (no todos) incluyen la posibilidad de que una GR pueda contener producciones-épsilon, es decir: producciones cuyo lado derecho es ε. Sea la gramática G = ({S, X}, {a, b}, {S -> ax, X -> b}, S}. esta GF es una Gramática Regular. También es válida una GR en la que se invierte el orden en el lado derecho de aquellas producciones que tienen dos símbolos. Una GF es Regular si sus producciones tienen las siguientes restricciones: el lado izquierdo debe tener un solo no-terminal, el lado derecho debe estar formado por un solo terminal, o un no-terminal seguido de un terminal. La GF ({S, X}, {a, b}, {S -> Xa, X -> b}, S} es Regular. En general: v -> t, v -> tv y v -> ε o v -> t, v -> v t y v -> ε Sin embargo, la mezcla de ambas definiciones porque la GF resultante no será una Gramática Regular. Sea G = ({S, X}, {a, b}, {S -> Xa, S -> bx, X -> b}, S}. Esta GF no es Regular. GRAMÁTICA INDEPENDIENTE DEL CONTEXTO (GIC) no tienen restricciones con respecto a la forma del lado derecho de sus producciones, aunque sí se requiere que el lado izquierdo de cada producción siga siendo un único no-terminal. v -> (v + t)*

5 5 La frase independiente del contexto refleja que, como el lado izquierdo de cada producción únicamente puede contener un solo no-terminal, la producción puede aplicarse sin importar el contexto donde se encuentre dicho noterminal. GRAMÁTICA IRRESTRICTA (GI) Son las GFs más amplias. Sus producciones tienen la forma general: α -> β, donde α y β pueden ser secuencias de no-terminales y/o terminales, con α ε. GRAMÁTICA SENSIBLE AL CONTEXTO (GSC) Es una GI con la siguiente restricción en las longitudes: β α. GRAMÁTICAS QUE GENERAN LENGUAJES FORMALES INFINITOS El diseño de una GF que genere un LF infinito requiere que, al menos una de sus producciones sea recursiva, esto es La GR con producciones S -> as y S -> a genera el LR infinito {a n / n 1}. LA DERIVACIÓN proceso que permite obtener cada una de las palabras de un LF a partir del axioma de una GF que lo genera, aplicando sucesivamente producciones convenientes de esa GF. Sea la GIC con producciones S -> asb y S -> ab. Esta GIC genera el lenguaje {a n b n / n 1}. Una de las palabras de este lenguaje es aaabbb. Verifiquemos por derivación: S => asb => aasbb => aaabbb. DERIVACION 1. Horizotal: S => asb => aasbb => aaabbb. 2. Verical a. A izquierda: en cada paso de la derivación se reemplaza el noterminal que se encuentra primero (de izquierda a derecha) en la cadena de derivación b. A derecha: en cada paso de la derivación se reemplaza el noterminal que se encuentra primero (de derecha a izquierda) en la cadena de derivación 3. Árbol de derivacion Sea la GIC con producciones: 1 S -> ST 2 S -> ab 3 T -> aat 4 T -> b obtener la palabra abaabaab DERIVACIÓN VERTICAL A IZQUIERDA: en cada paso de la derivación se reemplaza el noterminal que se encuentra primero (de izquierda a derecha) en la cadena de derivación. Derivación Vertical a Comentario Izquierda S Se aplica la producción (1) ST Se aplica la producción (1) STT Se aplica la producción (2) abtt Se aplica la producción (3) abaatt Se aplica la producción (4) abaabt Se aplica la producción (3) abaabaat Se aplica la producción (4) abaabaab DERIVACIÓN VERTICAL A DERECHA: en cada paso de la derivación se reemplaza el noterminal que se encuentra primero (de derecha a izquierda) en la cadena de derivación. Derivación Vertical a Comentario

6 6 Derecha S Se aplica la producción (1) ST Se aplica la producción (3) SaaT Se aplica la producción (4) Saab Se aplica la producción (1) STaab Se aplica la producción (3) SaaTaab Se aplica la producción (4) Saabaab Se aplica la producción (2) abaabaab GQR Tanto las GQRs como las GICs son de gran utilidad en la representación de la sintaxis de los Lenguajes de Programación. Son similares a una GR, pero donde un conjunto de terminales es reemplazado por un noterminal en una o varias producciones. S -> N NS N -> a b c Supongamos que un Lenguaje de Programación tiene nombres de variables que deben comenzar con una letra minúscula entre a y d, que puede estar seguida por letras en este mismo intervalo y por dígitos entre 2 y 6. La GQR puede tener estas producciones: S -> L SL SD L -> a b c d D -> EJERCICIOS Sea el LF L = {aa, ab, aba}. Describa la Definición Formal de dos GFs que generen este LF: una debe ser una GR y la otra una GIC (no GR). Sea el LF infinito L = {a n bc n / n 1}. Describa la Definición Formal de una GIC que genere este LF.

7 7 LENGUAJES REGULARES E INTRODUCCIÓN A BNF DETERMINACIÓN DE LENGUAJES REGULARES Si un LF es FINITO, entonces SIEMPRE es un LENGUAJE REGULAR (más adelante veremos porqué). En cambio, si un LF es INFINITO, entonces puede ser un Lenguaje Regular o un Lenguaje No Regular. L 1 = {a n b n / 1 n 4} es un lenguaje finito y, por lo tanto, es un LR El lenguaje Todas las palabras formadas por una o más aes es un LR infinito. Este lenguaje se puede escribir así: L 2 = {a n / n 1}. Un lenguaje es Regular si existe una GRAMÁTICA REGULAR que lo genere (ver capítulo 2). Un lenguaje es Regular si se puede representar mediante una EXPRESIÓN REGULAR. Un lenguaje es Regular si puede ser reconocido por un AUTÓMATA FINITO. Obviamente, todo lenguaje que no es Regular es un Lenguaje No Regular. Sea el lenguaje Todas las palabras que comienzan con una secuencia de una o más aes y terminan con una secuencia de bes cuya cantidad es igual a la cantidad de aes que las preceden. L 3 = {a n b n / n 1}. Consideremos el lenguaje infinito definido de esta manera: L 5 = {a n b t / n 1, t 1}. Este lenguaje es Regular. Sea el lenguaje infinito L 6 = {(ab) n (cde) t a z / n 1, t 1, z 1}. Este lenguaje también es Regular El lenguaje Todos los números binarios que comienzan con una cantidad impar de 1s y terminan con un 0, que por comprensión se escribe L = {1 2n+1 0 / n 0}, es un Lenguaje Regular infinito. INTRODUCCIÓN A BNF DESCRIPCIÓN SINTÁCTICA EN BNF DE COMPONENTES BÁSICOS La notación BNF consiste en un conjunto de reglas que definen, con absoluta precisión, la sintaxis de los componentes del LP. Cada regla en BNF se forma con: variables, que son palabras o frases encerradas entre corchetes angulares (ejemplo: <identificador>) terminales, que son los caracteres del alfabeto sobre el cual se construye el LR descripto metasímbolos, que ayudan a escribir estas reglas (ejemplo: < >) BNF del lenguaje ALGOL. <símbolo básico> ::= <letra> <dígito> <valor lógico> <delimitador> <letra> ::= a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z <dígito> ::= A partir de estos dos símbolos básicos, que corresponden a dos LRs finitos, podemos definir la sintaxis de dos elementos del lenguaje ALGOL que constituyen LRs infnitos: los identificadores y los números enteros. <identificador> ::= <letra> <identificador> <letra> <identificador> <dígito> <entero sin signo> ::= <dígito> <entero sin signo> <dígito> <número entero> ::= <entero sin signo> + <entero sin signo> - <entero sin signo> 1. Escriba reglas en BNF que definan la sintaxis del siguiente lenguaje: Todos los números binarios que comienzan con una cantidad impar de 1s y terminan con un Sea un LP cuyos identificadores deben comenzar con dos letras en el rango A..F, y que a continuación pueden tener (no obligatoriamente) dígitos decimales en el rango Escriba reglas en BNF que describan este LR.

8 8 3. Sea un LP cuyos números reales son sin signo y están formados por uno o más dígitos (parte entera), un punto y uno o más dígitos (parte fraccionaria). Escriba reglas en BNF que describan este LR. Algo de C las funciones están incompletas solo pongo lo importante int strlen(char* s) char *p = s while(*p) p++; return p-s; for(n=0; *s; s++,n++); return n; (char s[]) for(n=o; s[n];n++); return n; void strcpi(char s[]; char t[]) while((s[i] = t[i])!0 \0 ) i++; while((*s = *t)!= \0 ) s++; t++; while(*s++=*t++) int strcmp(char s[], char t[]) for(i=0;s[i] == t[i]; i++) if (s[i] == \0 ) return 0; return s[i] t[i]; programas con argumentos desde la linea de commando int main (int argc, char *argv[])

SSL Guia de Ejercicios

SSL Guia de Ejercicios 1 SSL Guia de Ejercicios INTRODUCCIÓN A LENGUAJES FORMALES 1. Dado el alfabeto = {a, b, c}, escriba las palabras del lenguaje L = {x / x }. 2. Cuál es la cardinalidad del lenguaje L = {, a, aa, aaa}? 3.

Más detalles

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo:

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo: 1 Clase 3 SSL EXPRESIONES REGULARES Para REPRESENTAR a los Lenguajes Regulares. Se construyen utilizando los caracteres del alfabeto sobre el cual se define el lenguaje, el símbolo y operadores especiales.

Más detalles

CAPITULO 2: LENGUAJES

CAPITULO 2: LENGUAJES CAPITULO 2: LENGUAJES 2.1. DEFINICIONES PREIAS SIMBOLO: Es una entidad indivisible, que no se va a definir. Normalmente los símbolos son letras (a,b,c,.., Z), dígitos (0, 1,.., 9) y otros caracteres (+,

Más detalles

LENGUAJES Y GRAMÁTICAS

LENGUAJES Y GRAMÁTICAS LENGUAJES Y GRAMÁTICAS Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 20 de septiembre de 2008 Contenido Lenguajes y Gramáticas Gramáticas Gramáticas

Más detalles

Lenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores

Lenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores Facultad de Ingeniería de Sistemas Lenguajes y Aspectos Formales (Parte 2) 2007 1 Derivaciones El proceso de búsqueda de un árbol sintáctico para una cadena se llama análisis sintáctico. El lenguaje generado

Más detalles

Lenguajes y Gramáticas

Lenguajes y Gramáticas Lenguajes y Gramáticas Teoría de Lenguajes Fernando Naranjo Introduccion Se desarrollan lenguajes de programación basados en el principio de gramática formal. Se crean maquinas cada vez mas sofisticadas

Más detalles

Ciencias de la Computación I

Ciencias de la Computación I Ciencias de la Computación I Gramáticas Regulares Expresiones Regulares Gramáticas - Intuitivamente una gramática es un conjunto de reglas para formar correctamente las frases de un lenguaje - Por ejemplo,

Más detalles

1. Cadenas EJERCICIO 1

1. Cadenas EJERCICIO 1 LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 - BOLETÍN DE EJERCICIOS Víctor J. Díaz Madrigal y José Miguel Cañete Departamento de Lenguajes y Sistemas Informáticos 1. Cadenas La operación reversa aplicada

Más detalles

GRAMATICAS LIBRES DEL CONTEXTO

GRAMATICAS LIBRES DEL CONTEXTO GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.

Más detalles

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I Tema 4: Gramáticas independientes del contexto Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación.

Más detalles

Gramáticas tipo 0 o Estructura de frase En este tipo de gramáticas no hay restricción en su producciones y tienen la forma siguiente.

Gramáticas tipo 0 o Estructura de frase En este tipo de gramáticas no hay restricción en su producciones y tienen la forma siguiente. Gramáticas Libres de Contexto 1. Gramáticas. Como vimos en el capítulo anterior una gramática es un conjunto finito de reglas que describen todas las secuencias de símbolos que pertenecen a un lenguaje.

Más detalles

Lenguajes y Compiladores Aspectos Formales (Parte 1) Compiladores

Lenguajes y Compiladores Aspectos Formales (Parte 1) Compiladores Facultad de Ingeniería de Sistemas Lenguajes y Aspectos Formales (Parte 1) 1 Aspectos Formales Los compiladores traducen lenguajes que están formalmente definidos a través de reglas que permiten escribir

Más detalles

Tema 2. Fundamentos de la Teoría de Lenguajes Formales

Tema 2. Fundamentos de la Teoría de Lenguajes Formales Departamento de Tecnologías de la Información Tema 2. Fundamentos de la Teoría de Lenguajes Formales Ciencias de la Computación e Inteligencia Artificial Índice 2.1. Alfabeto 2.2. Palabra 2.3. Operaciones

Más detalles

Modelos De Computación. Guía Modelos de Computación. Tema I: Lenguajes y Gramáticas

Modelos De Computación. Guía Modelos de Computación. Tema I: Lenguajes y Gramáticas Guía Modelos de Computación Tema I: Lenguajes y Gramáticas Introducción La sintaxis de un lenguaje natural, esto es, la de los lenguajes hablados, como el inglés, el español, el alemán o el francés, es

Más detalles

Expresiones regulares, gramáticas regulares

Expresiones regulares, gramáticas regulares Expresiones regulares, gramáticas regulares Los LR en la jerarquía de Chomsky La clasificación de lenguajes en clases de lenguajes se debe a N. Chomsky, quien propuso una jerarquía de lenguajes, donde

Más detalles

INTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES LENGUAJES FORMALES

INTRODUCCIÓN A COMPILADORES Y LENGUAJES FORMALES LENGUAJES FORMALES Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

Lenguajes, Gramáticas y Autómatas Conceptos

Lenguajes, Gramáticas y Autómatas Conceptos Lenguajes, Gramáticas y Autómatas Conceptos Departamento de Informática e Ingeniería de Sistemas C.P.S. Universidad de Zaragoza Última revisión: Febrero. 2004 11/02/2004 1 Índice Alfabetos, palabras y

Más detalles

Alfabetos, cadenas y lenguajes

Alfabetos, cadenas y lenguajes Capítulo 1 lfabetos, cadenas y lenguajes 1.1. lfabetos y cadenas Un alfabeto es un conjunto finito no vacío cuyos elementos se llaman símbolos. Denotamos un alfabeto arbitrario con la letra Σ. Una cadena

Más detalles

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Sintaxis Define la estructura del lenguaje Ejemplo: Jerarquía en

Más detalles

SSL 2015 K2003 Clase 1 Oscar Bruno

SSL 2015 K2003 Clase 1 Oscar Bruno Sintaxis y semántica de ls lenguajes Síntesis general Ls lenguajes de prgramación sn un cnjunt de lenguajes frmales. Ests se generan mediante Gramáticas Frmales Alguns sn regulares (pr ejempl ls elements

Más detalles

DEFINICIÓN FORMAL DE UN AFP

DEFINICIÓN FORMAL DE UN AFP Los AUTÓMATAS FINITOS CON PILA además de reconocer a los Lenguajes Regulares, tienen la capacidad de reconocer a los LICs, como las expresiones aritméticas y las sentencias de un Lenguaje de Programación.

Más detalles

Introducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas

Introducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas Gramáticas Introducción Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas En algunos lenguajes, una sucesión de símbolos depende del

Más detalles

Capítulo 9. Introducción a los lenguajes formales. Continuar

Capítulo 9. Introducción a los lenguajes formales. Continuar Capítulo 9. Introducción a los lenguajes formales Continuar Introducción Un lenguaje es un conjunto de símbolos y métodos para estructurar y combinar dichos símbolos. Un lenguaje también recibe el nombre

Más detalles

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto

Más detalles

16 Análisis sintáctico I

16 Análisis sintáctico I 2 Contenido Recordando la estructura de un compilador Recordando el análisis léxico l análisis sintáctico Comparación con el análisis léxico l Rol del Parser Lenguajes de programación Gramáticas structura

Más detalles

ESPECIFICACIÓN DE SÍMBOLOS

ESPECIFICACIÓN DE SÍMBOLOS 1 UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERÍA DEPARTAMENTO DE COMPUTACIÓN ESPECIFICACIÓN DE SÍMBOLOS Elaborado el Sábado 24 de Julio de 2004 I.- COMPONENTES LÉXICOS, PATRONES Y LEXEMAS (extraído de

Más detalles

Clase 11: Gramáticas. Solicitado: Ejercicios 09: Gramáticas

Clase 11: Gramáticas. Solicitado: Ejercicios 09: Gramáticas Solicitado: Ejercicios 09: Gramáticas M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Gramática Elementos de una gramática

Más detalles

Expresiones regulares, gramáticas regulares Unidad 3

Expresiones regulares, gramáticas regulares Unidad 3 Expresiones regulares, gramáticas regulares Unidad 3 Los LR en la jerarquía de Chomsky La clasificación de lenguajes en clases de lenguajes se debe a N. Chomsky, quien propuso una jerarquía de lenguajes,

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Repaso TALF Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 La Jerarquía de Chomsky Cuatro niveles de lenguajes formales

Más detalles

Introducción a la Lógica y la Computación

Introducción a la Lógica y la Computación Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 7 de Noviembre de 2014 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/20 Lenguajes Formales

Más detalles

Compiladores. Análisis Sintáctico Ascendente. Adrian Ulises Mercado Martínez. Facultad de Ingeniería, UNAM. 5 de septiembre de 2013

Compiladores. Análisis Sintáctico Ascendente. Adrian Ulises Mercado Martínez. Facultad de Ingeniería, UNAM. 5 de septiembre de 2013 Compiladores Análisis Sintáctico Ascendente Adrian Ulises Mercado Martínez Facultad de Ingeniería, UNAM 5 de septiembre de 2013 Adrian Ulises Mercado Martínez (FI,UNAM) Compiladores 5/07/2013 1 / 34 Índice

Más detalles

LENGUAJES Y GRAMÁTICAS

LENGUAJES Y GRAMÁTICAS LENGUAJES Y GRAMÁTICAS LENGUAJES Y GRAMÁTICAS La sintaxis de un lenguaje natural en lenguajes como el ingles, español, alemán o francés es extremadamente complicada, dado que es imposible especificar la

Más detalles

GRAMÁTICAS LIBRES DE CONTEXTO

GRAMÁTICAS LIBRES DE CONTEXTO GRAMÁTICAS LIBRES DE CONTEXTO Definición Una gramática libre de contexto (GLC) es una descripción estructural precisa de un lenguaje. Formalmente es una tupla G=, donde Vn es el conjunto

Más detalles

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto EJERCICIOS del TEMA 3: Lenguajes independientes del contexto Sobre GICs (gramáticas independientes del contexto) 1. Sea G una gramática con las siguientes producciones: S ASB ε A aab ε B bba ba c ) d )

Más detalles

Conceptos básicos sobre gramáticas

Conceptos básicos sobre gramáticas Procesamiento de Lenguajes (PL) Curso 2014/2015 Conceptos básicos sobre gramáticas Gramáticas y lenguajes Gramáticas Dado un alfabeto Σ, un lenguaje es un conjunto (finito o infinito) de cadenas de símbolos

Más detalles

06 Análisis léxico II

06 Análisis léxico II 2 Contenido Alfabetos, símbolos y cadenas Operaciones con cadenas Concatenación de dos cadenas Prefijos y sufijos de una cadena Subcadena y subsecuencia Inversión de una cadena Potencia de una cadena Ejercicios

Más detalles

Proyecto Intermedio Algoritmo de Earley

Proyecto Intermedio Algoritmo de Earley Fundamentos de Computación Proyecto Intermedio: Algoritmo de Earley Profesor: Dr. José Torres Jiménez Alumnos: Edna Gutiérrez Gasca Aureny Magaly Uc Miam Jorge Rodríguez Núñez Proyecto Intermedio Algoritmo

Más detalles

Introducción a la Lógica y la Computación

Introducción a la Lógica y la Computación Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 4 de Noviembre de 2015 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/21 Lenguajes Formales

Más detalles

08 Análisis léxico IV

08 Análisis léxico IV 2 Contenido Expresiones regulares Lenguaje generado por una expresión regular Precedencia de las operaciones con las expresiones regulares Ejemplos Definiciones regulares Extensiones de las expresiones

Más detalles

Máquinas de estado finito y expresiones regulares

Máquinas de estado finito y expresiones regulares Capítulo 3 Máquinas de estado finito y expresiones regulares En este tema definiremos y estudiaremos máquinas de estado finito, llamadas también máquinas de estado finito secuenciales o autómatas finitos.

Más detalles

Lenguajes formales y autómatas

Lenguajes formales y autómatas y autómatas. raul.gutierrez@correounivalle.edu.co Marzo, 2014 El alfabeto Un alfabeto es un conjunto finito no vacío cuyos elementos se llaman símbolos. Sea Σ = {a, b} el alfabeto que consta de los símbolos

Más detalles

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN G r a m á t i c a s UNIVERSIDAD DE SONORA DEPARTAMENTO DE MATEMÁTICAS LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN Dra. María de Guadalupe Cota Ortiz Lenguaje

Más detalles

Curso Básico de Computación

Curso Básico de Computación CINVESTAV IPN México City 2010 1 Preliminares 1.1 Cadenas, alfabetos y lenguajes Un símbolo es un ente abstracto que no se puede definir formalmente. Letras o dígitos son ejemplos

Más detalles

Introducción a la lingüística computacional

Introducción a la lingüística computacional Introducción a la lingüística computacional César Antonio Aguilar Facultad de Lenguas y Letras 17/08/2017 Cesar.Aguilar72@gmail.com Síntesis de la clase pasada (1) En la clase anterior nos dedicamos a

Más detalles

Las Gramáticas Formales

Las Gramáticas Formales Definición de Las Como definir un Lenguaje Formal Universidad de Cantabria Esquema Motivación Definición de 1 Motivación 2 Definición de 3 Problema Motivación Definición de Dado un lenguaje L, se nos presenta

Más detalles

Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno

Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno 1.1. Gramática Léxica 1.1.1. Elementos Léxicos Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno ->

Más detalles

Curso Básico de Computación Preliminares

Curso Básico de Computación Preliminares Curso Básico de Computación Preliminares Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) Preliminares 2010 1 / 11 1 Preliminares

Más detalles

GRAMÁTICAS y LENGUAJES INDEPENDIENTES DEL CONTEXTO

GRAMÁTICAS y LENGUAJES INDEPENDIENTES DEL CONTEXTO Dpto. de Informática (ATC, CCIA y LSI). Universidad de Valladolid. TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES I Ingeniería Técnica en Informática de Sistemas. Curso 2011-12 GRAMÁTICAS y LENGUAJES INDEPENDIENTES

Más detalles

Compiladores e Intérpretes

Compiladores e Intérpretes Compiladores e Intérpretes Coordinador: Prof. Ing. Pablo Pandolfo 1 Contenido: Lenguajes Formales. Gramáticas Formales. Lenguajes Regulares. Lenguajes Incontextuales. Maquina de Turing. Proceso de compilación

Más detalles

TEORÍA DE CONJUNTOS.

TEORÍA DE CONJUNTOS. TEORÍA DE CONJUNTOS. NOCIÓN DE CONJUNTO: Concepto no definido del cual se tiene una idea subjetiva y se le asocian ciertos sinónimos tales como colección, agrupación o reunión de objetos abstractos o concretos.

Más detalles

Lenguajes Regulares. Antonio Falcó. - p. 1

Lenguajes Regulares. Antonio Falcó. - p. 1 Lenguajes Regulares Antonio Falcó - p. 1 Cadenas o palabras I Una cadena o palabra es una sucesión finita de símbolos. cadena {c, a, d, e, n}. 10001 {0, 1} El conjunto de símbolos que empleamos para construir

Más detalles

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 4: Expresiones Regulares. Luis Peña

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 4: Expresiones Regulares. Luis Peña Máquinas Secuenciales, Autómatas y Lenguajes Tema 4: Expresiones Regulares Luis Peña Sumario Tema 4: Expresiones Regulares. 1. Concepto de Expresión Regular 2. Teoremas de Equivalencia Curso 2012-2013

Más detalles

Análisis léxico. Formalización y desarrollo. Procesadores de Lenguajes. Ingeniería Técnica superior de Ingeniería Informática

Análisis léxico. Formalización y desarrollo. Procesadores de Lenguajes. Ingeniería Técnica superior de Ingeniería Informática Procesadores de Lenguajes Ingeniería Técnica superior de Ingeniería Informática Departamento de Lenguajes y Sistemas informáticos Análisis léxico Formalización y desarrollo Javier Vélez Reyes jvelez@lsi.uned.es

Más detalles

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS Licenciatura en Sistemas de Información PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS UNSE FCEyT 1. DESCRIPCIÓN Este taller consta de tres partes. En cada una de ellas se especifican

Más detalles

CONJUTOS NÚMERICOS NÚMEROS NATURALES

CONJUTOS NÚMERICOS NÚMEROS NATURALES CONJUTOS NÚMERICOS NÚMEROS NATURALES El conjunto de números naturales tiene gran importancia en la vida práctica ya que con sus elementos se pueden encontrar elementos u objetos de otros conjuntos. El

Más detalles

Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars)

Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars) Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars) Prof. Gloria Inés Alvarez V. Departamento de Ciencias e Ingeniería de la Computación Pontificia Universidad

Más detalles

TEORIA DE AUTOMATAS.

TEORIA DE AUTOMATAS. TEORIA DE AUTOMATAS. RELACION DE PROBLEMAS II.. Construir un AFND capaz de aceptar una cadena u {, }, que contenga la subcadena. Construir un AFND capaz de aceptar una cadena u {, }, que contenga la subcadena.

Más detalles

Controla el flujo de tokens reconocidos por parte del analizador léxico. 4.2 Introduccion a las gramaticas libres de contexto y arboles de derivacion

Controla el flujo de tokens reconocidos por parte del analizador léxico. 4.2 Introduccion a las gramaticas libres de contexto y arboles de derivacion UNIDAD IV Analisis Sintactico 4.1 Introduccion Sintaxis significa estructura del orden de las palabras en una frase. La tarea del analisis sintactico es revisar si los símbolos aparecen en el orden correcto

Más detalles

Teoría de Autómatas y Compiladores [ICI-445] Capítulo 1: Lenguajes y Gramáticas Formales

Teoría de Autómatas y Compiladores [ICI-445] Capítulo 1: Lenguajes y Gramáticas Formales Teoría de Autómatas y Compiladores [ICI-445] Capítulo 1: Lenguajes y Gramáticas Formales Dr. Ricardo Soto [ricardo.soto@ucv.cl] [http://www.inf.ucv.cl/ rsoto] Escuela de Ingeniería Informática Pontificia

Más detalles

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales Teoría de utómatas y Lenguajes Formales Introducción a las ramáticas. ramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Introducción

Más detalles

Gramaticas Independientes del Contexto, ejemplos y ejercicios

Gramaticas Independientes del Contexto, ejemplos y ejercicios OpenStax-CNX module: m16320 1 Gramaticas Independientes del Contexto, ejemplos y ejercicios Carlos Arturo Cortés Fuentes This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution

Más detalles

Clase 14: Gramáticas libres de contexto

Clase 14: Gramáticas libres de contexto M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Gramáticas libres de contexto Propiedades de los lenguajes libres de contexto

Más detalles

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto Universidad Autónoma del Estado de México Centro Universitario UAEM Texcoco Departamento de Ciencias Aplicadas. Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer,

Más detalles

Introducción a Haskell. Cecilia Manzino

Introducción a Haskell. Cecilia Manzino Paradigmas de programación Un paradigma de programación representa un estilo particular o filosofía para la construcción del software. Los más comunes dan lugar a los siguientes tipos de programación:

Más detalles

Lenguajes Incontextuales

Lenguajes Incontextuales Tema 5: Gramáticas Formales Lenguajes Incontextuales Departamento de Sistemas Informáticos y Computación http://www.dsic.upv.es p.1/31 Tema 5: Gramáticas Formales Gramáticas. Tipos de Gramáticas. Jerarquía

Más detalles

Tema 1: Introducción. Teoría de autómatas y lenguajes formales I

Tema 1: Introducción. Teoría de autómatas y lenguajes formales I Tema 1: Introducción Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación. Addison Wesley.

Más detalles

OPERACIONES SOBRE LENGUAJES REGULARES LA UNIÓN DE LENGUAJES REGULARES

OPERACIONES SOBRE LENGUAJES REGULARES LA UNIÓN DE LENGUAJES REGULARES OPERACIONES SOBRE LENGUAJES REGULARES LA UNIÓN DE LENGUAJES REGULARES Sean L1 y L2 dos LRs. Entonces L1 L2, es un LR Si L1 es representado por una ER R1 y L2 es representado por cierta expresión R2, la

Más detalles

CONJUNTOS. Los conjuntos son conceptos primitivos que representan una totalidad, una reunión de cosas.

CONJUNTOS. Los conjuntos son conceptos primitivos que representan una totalidad, una reunión de cosas. CONJUNTOS CPR. JORGE JUAN Xuvia-Narón Los conjuntos son conceptos primitivos que representan una totalidad, una reunión de cosas. Un conjunto está formado por una serie de elementos susceptibles de poseer

Más detalles

1. Define que es un Autómatas finitos determinanticos y cuáles son sus elementos constitutivos (explique cada uno de ellos).

1. Define que es un Autómatas finitos determinanticos y cuáles son sus elementos constitutivos (explique cada uno de ellos). Unidad 2.- Lenguajes Regulares Los lenguajes regulares sobre un alfabeto dado _ son todos los lenguajes que Se pueden formar a partir de los lenguajes básicos?, {_}, {a}, a 2 _, por medio De las operaciones

Más detalles

Álgebra y Trigonometría

Álgebra y Trigonometría Álgebra y Trigonometría Conceptos fundamentales del Álgebra Universidad de Antioquia Departamento de Matemáticas 1. Números Reales El conjunto de los números reales está constituido por diferentes clases

Más detalles

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R.

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R. Conjuntos Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por se entiende que a pertenece a R. a R Normalmente, podremos definir a un conjunto de dos maneras: Por

Más detalles

Teoría de la Computabilidad

Teoría de la Computabilidad Teoría de la Computabilidad Módulo 7: Lenguajes sensibles al contexto 2016 Departamento de Cs. e Ing. de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina Es este programa en Pascal sintácticamente

Más detalles

Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso.

Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso. Elementos básicos de programación en Java Objetivos del tema Conocer la estructura básica de un programa Java. Comprender los conceptos de tipo, valor y variable. Comprender las diferencias entre tipos

Más detalles

Curso de Programación Avanzada en C

Curso de Programación Avanzada en C Curso de Programación Avanzada en C Copyright, 1996 Universidad Sim on Bol ivar 1 Prof. Mariela J. Curiel Contenido del Curso Conceptos BásicosB Estructuras de Control Arreglos Otros tipos de datos derivados

Más detalles

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx

Más detalles

ANÁLISIS LÉXICO AUTÓMATAS FINITOS

ANÁLISIS LÉXICO AUTÓMATAS FINITOS Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

DEL AUTÓMATA FINITO A LA EXPRESIÓN REGULAR

DEL AUTÓMATA FINITO A LA EXPRESIÓN REGULAR DEL AUTÓMATA FINITO A LA EXPRESIÓN REGULAR Muchas veces es más fácil y seguro dibujar el DT de un AF que reconozca al lenguaje, para luego obtener la ER a partir de este autómata. Se presenta un método

Más detalles

ANÁLISIS SINTÁCTICO I GRAMÁTICAS

ANÁLISIS SINTÁCTICO I GRAMÁTICAS Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

Sumario: Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 1: Conceptos básicos (parte 1) Tema 1: Conceptos básicos

Sumario: Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 1: Conceptos básicos (parte 1) Tema 1: Conceptos básicos Formales Tema 1: Conceptos básicos (parte 1) Holger Billhardt holger.billhardt@urjc.es Sumario: Tema 1: Conceptos básicos 1. Lenguajes Formales 2. Gramáticas Formales 3. Autómatas Formales 2 1 Sumario:

Más detalles

09 Análisis léxico V Compiladores - Profr. Edgardo Adrián Franco Martínez

09 Análisis léxico V Compiladores - Profr. Edgardo Adrián Franco Martínez 2 Contenido Autómata Definición formal de autómata Representación de un autómata Mediante tablas de transiciones Mediante diagramas de estados Autómata finito Definición formal de autómata finito Lenguaje

Más detalles

{ } Listado de elementos del conjunto

{ } Listado de elementos del conjunto CONJUNTOS Qué es un conjunto? Un conjunto es un grupo no ordenado de elementos que comparte una o más características. Nomenclatura en los conjuntos Los conjuntos siempre se nombran con letras mayúsculas,

Más detalles

SISTEMA DE NUMEROS REALES

SISTEMA DE NUMEROS REALES SISTEMA DE NUMEROS REALES 1.1 Conjuntos Es una agrupación de objetos distintos (pero con algunas características en común), los que reciben el nombre de elementos. Generalmente se nombra a un conjunto

Más detalles

Autómatas de Pila y Lenguajes Incontextuales

Autómatas de Pila y Lenguajes Incontextuales Autómatas de Pila y Lenguajes Incontextuales Elvira Mayordomo Universidad de Zaragoza 5 de noviembre de 2012 Contenido de este tema 1. Introducción a los autómatas de pila 2. Definiciones 3. Equivalencia

Más detalles

ANÁLISIS LÉXICO Ing. Ronald Rentería Ayquipa

ANÁLISIS LÉXICO Ing. Ronald Rentería Ayquipa ANÁLISIS LÉXICO Ing. Ronald Rentería Ayquipa ANALIZADOR LÉXICO (AL) El Analizador léxico (scanner), lee la secuencia de caracteres del programa fuente, caracter a caracter, y los agrupa para formar unidades

Más detalles

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.

Más detalles

CAPITULO 5: GRAMÁTICAS

CAPITULO 5: GRAMÁTICAS CAPITULO 5: GRAMÁTICAS 5.1. GRAMÁTICA EN UN LENGUAJE NATURAL: En un lenguaje natural la estructura de las frases, se describen por medio de una gramática que agrupa las palabras en categorías sintácticas

Más detalles

22, 23 y 24 Análisis sintáctico V Compiladores - Profr. Edgardo Adrián Franco Martínez

22, 23 y 24 Análisis sintáctico V Compiladores - Profr. Edgardo Adrián Franco Martínez 2 Contenido Análisis Sintáctico Ascendente Métodos Ascendentes Método Ascendente SLR Pasos para el método SLR Ejemplo SLR Resumen Ejercicios Compiladores (Análisis Sintáctico VI - Análisis Ascendente -

Más detalles

TEORÍA DE AUTÓMATAS Y LENGUAJES

TEORÍA DE AUTÓMATAS Y LENGUAJES TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Francisco Vico departamento Lenguajes y Ciencias de la Computación área de conocimiento Ciencias de la Computación e Inteligencia Artificial ETSI Informática Universidad

Más detalles

Lenguajes independientes de contexto o incontextuales

Lenguajes independientes de contexto o incontextuales Lenguajes independientes de contexto o incontextuales Elvira Mayordomo Universidad de Zaragoza 5 de noviembre de 2012 Elvira Mayordomo (Universidad de Zaragoza)Lenguajes independientes de contexto o incontextuales5

Más detalles

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003.

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Examen IIC 2222 Teoría de Autómatas y Lenguajes Formales Segundo Semestre, 2003 Este examen tiene

Más detalles

8- LEX-Expresiones regulares

8- LEX-Expresiones regulares 8- LEX-Expresiones regulares Objetivos: Utilizar la herramienta KEX para trabajar con expresiones regulares Recursos: Maquina virtual Linux distribución Bodhi LXterminal y FLEX Introducción Flex le permite

Más detalles

ÁRBOLES DE SINTAXIS. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales.

ÁRBOLES DE SINTAXIS. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales. ÁRBOLES DE SINTAXIS ÁRBOL grafo dirigido acíclico. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales. Los nodos terminales (nodos hojas) están rotulados por los

Más detalles

Programación en Lenguaje C

Programación en Lenguaje C Lenguaje de programación C Programación en Lenguaje C Introducción El Lenguaje de programación C fue implantado por primera vez en los años 70 por Dennis Ritchie para una computadora DEC PDP-11 corriendo

Más detalles

Tema 5: Autómatas a pila. Teoría de autómatas y lenguajes formales I

Tema 5: Autómatas a pila. Teoría de autómatas y lenguajes formales I Tema 5: Autómatas a pila Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación. Addison Wesley.

Más detalles

Analizador Sintáctico Ascendente

Analizador Sintáctico Ascendente Analizador Sintáctico Ascente Un Analizador Sintáctico (A. St.) Ascente construye el árbol desde las hojas hacia la raíz. Funciona por reducción-desplazamiento, lo cual quiere decir que, siempre que puede,

Más detalles

Expresiones Regulares

Expresiones Regulares Conjuntos Regulares y Una forma diferente de expresar un lenguaje Universidad de Cantabria Conjuntos Regulares y Esquema 1 Motivación 2 Conjuntos Regulares y 3 4 Conjuntos Regulares y Motivación El problema

Más detalles

07 Análisis léxico III

07 Análisis léxico III 2 Contenido Lenguaje Operaciones entre lenguajes Lenguajes regulares Expresiones regulares 3 Lenguaje Un lenguaje es un conjunto de palabras (cadenas) de un determinado alfabeto Σ. Formalmente: Se llama

Más detalles

Sintaxis y Semántica. Tema 3. Sintaxis y Semántica. Expresiones y Lenguajes Regulares. Dr. Luis A. Pineda ISBN:

Sintaxis y Semántica. Tema 3. Sintaxis y Semántica. Expresiones y Lenguajes Regulares. Dr. Luis A. Pineda ISBN: Tema 3 Expresiones y Lenguajes Regulares Dr Luis A Pineda ISBN: 970-32-2972-7 Sintaxis y Semántica En us uso normal, las expresiones lingüística hacen referencia a objetos individuales, así como a sus

Más detalles

En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse

En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse lógicamente como un término no definido. Un conjunto se

Más detalles

Tema 1. Introducción

Tema 1. Introducción Departamento de Tecnologías de la Información Tema 1 Introducción Ciencias de la Computación e Inteligencia Artificial Índice 1.1 Conceptos 1.2 Un poco de historia 1.3 Estructura de un compilador 1.4 Teoría

Más detalles