Anda di halaman 1dari 3

Gua Autmatas U1

Alfabeto: Conjunto de smbolos finito y no vaco. Se utiliza el smbolo para designar un alfabeto. Ejemplo: = {0,1}, el
alfabeto binario.
Cadena (Palabra): Es una secuencia finita de smbolos yuxtapuestos, seleccionados de algn alfabeto. Ejemplo: 111 es
una cadena del alfabeto binario = {0,1}.
Cadena Vaca (Palabra Vaca): Es aquella que presenta cero apariciones de smbolos, es una cadena que puede
construirse en cualquier alfabeto. Se puede representar con o .
Longitud de una cadena (Palabra): Es el nmero de smbolos que componen la palabra. Se representa utilizando dos
barras verticales (|w|). Ejemplo |011|=3.
Sub-palabra: Sub-secuencias de smbolos consecutivos de una palabra a menudo se usan las palabras facto o infijo.
Ejemplo: La palabra bba contiene las siguientes sub-palabras {, a, b, bb, ba, bba}.
Lenguaje: Es un conjunto de cadenas, todas ellas seleccionadas de un * donde es un determinado alfabeto. Se utiliza
el smbolo L para designar lenguaje.
Prefijo: Trmino que antecede a una palabra para modificar su sentido gramatical. Ejemplo: entre, pro, anti, super,
supra, tele.
Sufijo: Es un trmino que va escrito en la parte final de una palabra para modificar su sentido. Ejemplo: ario, azgo, ble,
cion, ismo, ito, triz.
Concatenacin: Construir una palabra nueva aadiendo los smbolos de la segunda tras los smbolos de la primera.
Ejemplo: aabb=aabb.
Lenguaje Universal: Denido sobre un alfabeto es el conjunto de todas las palabras que se pueden construir con las
letras de dicho alfabeto. Se denota por (). Ejemplo: si = {a} entonces ()= { , a,aa,aaa,..}.
Lenguaje Vaco: Es un conjunto vaco y que se denota por {}.
Tipos de lenguajes:
Lenguaje de Alto Nivel
Lenguaje de Bajo Nivel
Lenguaje de Medio Nivel
Lenguaje Maquina
Lenguaje Ensamblador
Herramientas ligadas con los lenguajes:
Editores de estructuras: Toma como entrada una secuencia de rdenes para construir un programa fuente.
Impresora esttica: Analiza un programa y lo imprime de forma que la estructura del programa resulte
claramente visible.
Verificadores estticos: Lee un programa, lo analiza e intenta descubrir los errores.
Interprete: Realiza las operacin que implica el programa fuente.
Compilador: Traduce un programa en lenguaje de programacin a un lenguaje entendible para la mquina.
Estructura de un traductor:
Traductor: Es el que convierte un programa de computadora escrito en un lenguaje de programacin a otro lenguaje de
programacin.
El proceso de un traductor se divide en dos fases principales:
Fase de Anlisis: Analiza el programa de origen para determinar si cumple con las restricciones impuestas por el
programa fuente. Consta de las siguientes fases
1. Anlisis lexicogrfico. Divide el programa fuente en los componentes bsicos del lenguaje a compilar.
2. Anlisis sintctico. Comprueba que la estructura de los componentes bsicos sea correcta segn las reglas que
maneje el lenguaje a compilar.
3. Anlisis semntico. Comprueba que el programa fuente respete las normas del lenguaje que se compila:
chequeo de tipos, rangos de valores, existencias de variables, etc.
Fase de Sntesis: Se genera el cdigo objeto correspondiente en el idioma de destino a partir de las estructuras
generadas por la etapa de anlisis. Consta de las siguientes fases
1. Generacin de cdigo intermedio. Genera un cdigo independiente de la maquina muy parecido al
ensamblador.
2. Generacin del cdigo mquina. Crea un bloque de cdigo mquina ejecutable, as como los bloques
necesarios destinados a contener los datos.
3. Fase de optimizacin. Se realiza sobre el cdigo intermedio, sobre el cdigo mquina o ambos. Puede ser
aislada de las dos anteriores o integrada con ellas.
Fases de un compilador:
Compilador: Es un programa especial que procesa declaraciones escritas en un lenguaje de programacin en particular y
los convierte en lenguaje que la mquina sea capaz de interpretar. En la siguiente imagen se ilustran las fases de un
compilador.

Anda mungkin juga menyukai