TECN TE CNOL OL GI GICO CO NA NACI CION ONAL AL DE M XI XICO CO Instituto Tecnológico de Tuxtla Gutiérrez
Alfabeto Conjunto finito y no vació cuyos elementos se denominan símbolos. Se designa normalmente con la letra ∑ Ejemplo: {0,1} {a,b,c…x,y,z} {0,1,2,3,4,5,6,7,8,9} {a,b}
Conceptos Palabra: es una secuencia finita de símbolos de un alfabeto, las misma se pueden crear especificando un alfabeto determinado. Ejemplo: Si el alfabeto es {a,b}: Aba,bab,a,b,bbbbababababababababababababababbaba Si el alfabeto es {0,1} 0,1,01,11,11, … Existe una palabra especial que representa una secuencia vacía de símbolos, y a menudo se llama la palabra vacía, y se representa con la letra griega λ. Subpalabras: subsecuencias de símbolos consecutivos de una palabra, a menudo se usan las palabras factor o infijo.
Ejemplo: La palabra bba contiene las siguientes subpalabras: {λ,a,b,bb,ba,bba} Es importante las palabras en negritas son también consideradas subpalabras impropias, las demás son palabras propias. Prefijos: subpalabras al principio de una palabra. Sufijos: subpalabras al final de una palabra.
Nota: la palabra vacia y entera se consideran sufijos y prefijos de cualquier palabra. Ejemplo:
Los prefijos de la palabras bbaab son { λ,b,bb,bba,bbaa,bbaab} se observam los prefijos propios en azul. Los sufijos son {λ,b,bb,bba,bbaa,bbaab} se observan los sufijos propios en azul.
Cadenas Una cadena o palabra sobre un alfabet o Σ. admitimos la existencia de una única cadena que no tiene símbolos, la cual se denomina cadena vacía y se denota con λ. la cadena vacía desempeña, en la teoría de lenguajes formales, un papel similar al que desempeña el conjunto vacío Ø en la teoría de conjuntos. Longitud de cadena: es el número de símbolos que contiene. La notación empleada es la que es la que se indica en el ejemplo:
Utilizamos las cadenas de los ejemplos: I abcb I = 4, I a + 2*b I = 5 I 000111 I = 6 I if a > b then a = b; I = 9 Cadena Vacía: es la única cadena de caracteres de tamaño cero. Y la podemos denotar usualmente con letras λ o Є (Griegas). Concatenación de cadenas: u y v, escrita uv, es "pegar" las dos cadenas para formar una nueva.
Ejemplo: Sea u = ab v = ca w = bb. Entonces uv = abca uw = cabb (uv) w = abcabb u(vw) = abcabb
El resultado de la concatenación de u, v y w es independiente del orden en que las operaciones son ejecutadas. Matemáticamente esta propiedad es conocida como asociatividad. Universo del discurso: es un conjunto de todas las cadenas donde podemos formar con símbolos del alfabeto V le denominamos universo del discurso de V y la representamos de la siguiente manera W (V). Es evidente que W(V) es un conjunto infinito y que la cadena vacía pertenece a W(V).
Ejemplo: Un afabeto con una sola letra V = { a }, podemos decir que el universo del discurso es: W(V) = { λ, a, aa, aaa, aaaa,....} y asi contiene una cadenas infinitas.
Lenguajes Es un conjunto de cadenas, de todas las seleccionadas de un Σ*. Donde Σ determinado el alfabeto se denomina lenguaje. Si Σ es un alfabeto y L Σ*, entonces L es un lenguaje de Σ. Observe que un lenguaje de Σ no necesita incluir cadenas con todos los símbolos de Σ, ya que una vez que hemos esta que L es un lenguaje de Σ, también sabemos que es un lenguaje de cualquier alfabeto que sea un súper conjunto de Σ. La elección del término "lenguaje" puede parecer extraña. Sin embargo, los lenguajes habituales pueden interpretarse como conjuntos de cadenas. Un ejemplo seria el inglés, donde la colección de las palabras correctas inglesas es un conjunto de cadenas del alfabeto que consta de todas las letras. Otro ejemplo es el lenguaje C.
Tipos de lenguajes Lenguaje natural (castellano) : Nosotros estamos relacionados con el concepto tradicional de gramática que, de esta forma intuitiva, podemos considerar un conjunto de reglas el cual nos indican que es correcto y que no lo es del, lenguaje natural. Con este fin podemos acércanos a la definición más clara y formal de la lengua castellana. Lenguaje artificial: En este lenguaje aplicamos el mismo método en el cual definimos un fragmento del lenguaje de programación. Donde pretendemos describir las instrucciones el cual nos permite asignar un valor a una expresión o a una variable en un lenguaje C. Lenguaje regular: Llamamos así a los lenguajes porque sus palabras contienen "regularidades" o repeticiones de los mismos componentes, por ejemplo en este lenguaje L1 = { ab, abab, ababab, abababab,...} Este ejemplo podemos apreciar las palabras de L1 son solo repeticiones de "ab" donde se repiten varias veces. Su regularidad consiste en las palabras que contienen "ab" varias veces.
Herramientas computadoras ligadas con lenguajes.
Traductor : es un programa que tiene como entrada un texto escrito en un lenguaje (lenguaje fuente) y como salida produce un texto escrito en un lenguaje (lenguaje objeto) que preserva el significado de origen.
Ejemplos de traductores son los ensambladores y los compiladores. Compilador: es un programa informático que traduce un programa escrito en lenguaje de programación y lo pasa a lenguaje de programación, podemos decir que este programa nos permite traducir un código fuente de un programa en lenguaje de nivel alto, y lo pasmos a otro nivel inferior (lenguaje maquina). Ensamblador: es el programa en que se realiza la tracción de un programa escrito en ensamblador y lo pasa a lenguaje máquina. Directa o no directa la traducción en que las instrucciones no son más que instrucciones que ejecuta la computadora. Intérpretes: son los que realizan normalmente dos operaciones:
Traducen el código fuente a un formato interno. Ejecuta o interpretan el programa traducido al formato interno.
Donde la primera pertenece al interprete el cual llama a veces al compilador, así se genera el código interno, pero no es el lenguaje de máquina, ni lenguaje de símbolos, ni mucho menos un lenguaje de nivel alto.