3. This material has been prepared by Richard E. Aguilar P.
Contenido de la Sesión
• Alfabeto.
• Cadenas.
• Lenguajes.
4.
5. This material has been prepared by Richard E. Aguilar P.
Logro
Al finalizar la sesión el alumno comprende qué son y como se
definen los alfabetos y lenguajes, así como el uso de las
cadenas en el marco de la teoría de compiladores.
6.
7. This material has been prepared by Richard E. Aguilar P.
Símbolo
• Es una entidad abstracta, que no se va a definir, pues se dejará
como axioma.
• Normalmente los símbolos son letras, dígitos y otros caracteres.
• Los símbolos también pueden estar formados por varias letras o
caracteres.
• Las palabras reservadas de un lenguaje de programación son
símbolos de dicho lenguaje.
8. This material has been prepared by Richard E. Aguilar P.
Alfabeto o Vocabulario
• Es un conjunto finito de símbolos, no vacío.
• Para definir que un símbolo “a” pertenece a un alfabeto “V” se
utiliza la notación de pertenencia de la Teoría de Conjuntos.
• Los alfabetos se definen por enumeración de los símbolos que
contienen.
• Se pueden definir las tablas ASCII y EBCDIC como los alfabetos de
distintos ordenadores.
9. This material has been prepared by Richard E. Aguilar P.
Cadena
• Es un secuencia finita de símbolos de un determinado alfabeto.
• La longitud de una cadena esta dada por el numero de símbolos
que contiene.
• Una cadena vacía, es aquella que no tiene símbolos, es decir, cuya
longitud de cadena es cero.
• Concatenación de cadenas: sean dos cadenas “a” y “b”
cualesquiera, se denomina concatenación de “a” y “b” a una
nueva cadena constituida por los símbolos de la cadena “a”
seguidos por los símbolos de la cadena “b”.
10. This material has been prepared by Richard E. Aguilar P.
Cadena
• Dada la cadena “xyz”, entonces “x” es el prefijo de dicha cadena.
• Dada la cadena “xyz”, entonces “z” es el sufijo de dicha cadena.
• Dada la cadena “xyz”, entonces “y” es un subcadena de dicha
cadena.
• La potencia de una cadena se conforma concatenando dicha
cadena consigo misma tantas veces indique el exponente.
11. This material has been prepared by Richard E. Aguilar P.
Potencia de un alfabeto
• Sea Σ un alfabeto, entonces Σk es el conjunto de las cadenas de
longitud “k” tales que todos los símbolos están en Σ.
12. This material has been prepared by Richard E. Aguilar P.
Estrella de Kleene de un alfabeto
• Para cualquier alfabeto Σ el conjunto de todas las cadenas sobre Σ
se denota Σ*
13. This material has been prepared by Richard E. Aguilar P.
Cerradura de un alfabeto
• Para cualquier alfabeto Σ el conjunto de todas las cadenas sobre Σ
sin considerar la cadena vacía se denota Σ+
14. This material has been prepared by Richard E. Aguilar P.
Lenguaje
• Es un conjunto de cadenas compuestas con símbolos de un
alfabeto.
• Se tienen los lenguajes naturales, como el español:
• Nivel Sintáctico: oraciones compuestas de palabras
• Nivel léxico: palabras compuestas de símbolos del alfabeto
• Se tienen los lenguajes formales:
• Nivel Sintáctico: expresiones formadas correctamente compuestas de
cadenas (tokens)
• Nivel léxico: tokens compuestos por símbolos del alfabeto, por ejemplo:
ASCII
15. This material has been prepared by Richard E. Aguilar P.
Lenguaje
• Existe un lenguaje denominado lenguaje vacío, que es un conjunto
vacío y que se denota por {Φ}.
• El lenguaje vacío no debe confundirse con un lenguaje que
contenga una sola cadena y que esta sea la cadena vacía, es
decir {λ}, ya que el numero de elementos (cardinalidad) de estos
dos conjuntos es diferente.
16. This material has been prepared by Richard E. Aguilar P.
Operaciones con Lenguajes
• Unión o alternativa: Sean dos lenguajes definidos sobre un mismo
alfabeto, se denomina unión de los dos lenguajes, al conjunto
formado por las cadenas que pertenezcan indistintamente a uno u
otro de los lenguajes.
• Concatenación: Sean dos lenguajes definidos sobre el mismo
alfabeto, se denomina concatenación de los dos lenguajes, al
conjunto de todas las cadenas formadas concatenando una
palabra del primer lenguaje con otra del segundo.
17. This material has been prepared by Richard E. Aguilar P.
Operaciones con Lenguajes
• Potencia de un lenguaje: desde un punto de vista estricto, esta no es
una nueva operación sino un caso particular de la concatenación.
Se denomina potencia i-ésima de un lenguaje a la operación que
consiste en concatenarlo consigo mismo i-veces
• Operación estrella de Kleene: la operación cierre o estrella de un
lenguaje L es otro lenguaje L* obtenido uniendo el lenguaje L, con
todas sus potencias posibles, incluyendo L0.
• Operación cierre positivo: la operación de cierre positivo de un
lenguaje L es otro lenguaje L+ obtenido uniendo el lenguaje L, con
todas sus potencias posibles, excepto L0.