You are on page 1of 29

INSTITUTO TECNOLOGICO DE

VILLAHERMOSA
Ing. En Sistemas Computacionales

UNIDAD 1

Profesor:
Ing. Maximiliano Santiago Prez

Materia:
Lenguajes y Autmatas 1

Equipo:
#1

Integrantes:
Sheila Cristhian de los Santos Gernimo
Miguel ngel Snchez Aguilar
Juan Antonio Mayo Cortes
Cristian Lpez Hernndez
Adrin Vega Rodrguez
Edgar Javier Domnguez
Sergio Alberto Ceh Alejandro


Un alfabeto es un conjunto de smbolos finito y no vaco.

Convencionalmente, utilizamos el smbolo (sigma)para designar
un alfabeto.
Entonces podemos
decir que para la
representacin de
seria
ALFABETO =
.
Sea cual sea el tipo
de alfabeto
Potencias de un alfabeto.

Tambin podemos expresar el conjunto de todas las cadenas
de una determinada longitud de dicho alfabeto utilizando una
notacin exponencial
Si = {0,1}, entonces 1 = {0,1}, 2 =
{00,01,10,11}, 3 =
{000,001,010,011,100,101,110,111}, etc.

Una cadena de caracteres (que tambin se denomina en
ocasiones palabra) es una secuencia finita de smbolos
seleccionados de algn alfabeto.
Convenio de tipos para smbolos y cadenas
Habitualmente, emplearemos las letras minsculas del principio
del alfabeto (o dgitos) para designar a los smbolos y las letras
minsculas del nal del alfabeto, normalmente w, x, y y z, para
designar cadenas. Debe intentar utilizar este convenio con el n
de recordar el tipo de elementos con los que est trabajando.

Por ejemplo, 01101 es una cadena del alfabeto binario
Ejemplo:

La cadena vaca es aquella cadena que presenta cero apariciones de
smbolos. Esta cadena, designada por (psilon), es una cadena que
puede construirse en cualquier alfabeto.

Longitud de una cadena

La cadena vaca

Por ejemplo, 01101 tiene una longitud de 5. Es habitual decir que la
longitud de una cadena es igual al nmero de smbolos que contiene
Ejemplo

Sean x = 01101 e y = 110.

xy=01101-110 yx=110-01101

Entonces xy = 01101110 e yx = 11001101. Para cualquier
cadena w, tenemos las ecuaciones w = w = w


Concatenacin de cadenas

Un conjunto de cadenas, todas ellas seleccionadas de un
*
, donde
es un determinado alfabeto se denomina lenguaje.
1. El lenguaje de todas las cadenas que constan de n ceros seguidos
de n unos para cualquier n 0:
{ ,01,0011,000111, . . .}.
2. El conjunto de cadenas formadas por el mismo nmero de ceros
que de unos:
{ ,01,10,0011,0101,1001, . . .}
3. El conjunto de nmeros binarios cuyo valor es un nmero primo:
{10,11,101,111,1011, . . .}
4.
*
es un lenguaje para cualquier alfabeto .

1.4 Tipos de Lenguajes
Existen 2 tipos de lenguajes los Lenguajes naturales y lenguajes
formales

Dada la oracin castellana: el coche es gris, es posible construir otras como:
mi amigo dice que el coche es gris
si mi amigo dice que el coche es gris, es que el coche es gris
si me contaron que mi amigo dice: el coche es gris, mi amigo dice que el
coche es gris
Como es obvio, resultara absurdo intentar escribir todas las posibles
combinaciones de palabras que hay en el lenguaje castellano.
Por ejemplo, dado el conjunto de palabras pertenecientes al diccionario del
castellano: {el, hombre, tom, compr, baln}, habr frases que se puedan formar con
dicho conjunto que sean correctas con respecto a una sintaxis y a una semntica, como:
el hombre tom el baln
el hombre compr el baln
otras que sern correctas sintcticamente, pero no semnticamente:
el baln compr el hombre, o
el baln tom el hombre
y otras que no sean ni sintctica ni semnticamente correctas, como por ejemplo:
tom compr baln el
el tom hombre baln el
1.5 Herramientas computacionales ligadas
con lenguajes
*Editores de estructuras:

*Impresoras estticas:

*Verificadores estticos:

*Intrpretes:

COMPILADOR CONVENCIONAL
*Formadores de textos

* Intrpretes de consultas
UN 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.
EN EL PROCESO DE TRADUCCIN SE IDENTIFICAN DOS
FASES PRINCIPALES:
FASE DE ANLISIS:

ANALISIS LEXICO
La fase de rastreo (scanner), tiene las funciones de leer el programa
fuente como un archivo de caracteres y dividirlo en tokens.
Los tokens son las palabras reservadas de un lenguaje,secuencia de
caracteres que representa una unidad de informacin en el
programa fuente.





EL ANALIZADOR LXICO ES
RESPONSABLE DE:

Eliminar comentarios, espacios en blanco, tabuladores y saltos de
lnea.
Manejo de apertura y cierre de archivo, lectura de caracteres y
gestin de posibles errores de apertura.
Contabilizar nmero de
lneas y columnas para
emitir mensajes de error.
Inclusin de archivos y
macros.
ANLISIS SINTCTICO

es el anlisis de las funciones sintcticas o relaciones
de concordancia y jerarqua que guardan
las palabras agrupndose entre s
en sintagmas, oraciones simples y compuestas
de proposiciones o nexos.
Anlisis semntico
Se compone de un conjunto de rutinas independientes, llamadas
por los analizadores morfolgico y sintctico.
El anlisis semntico utiliza como entrada el rbol sintctico detectado
por el anlisis sintctico para comprobar restricciones de tipo y otras
limitaciones semnticas y preparar la generacin de cdigo.
FASE DE SNTESIS:

GENERADOR DE CDIGO
INTERMEDIO
Esta fase del compilador no es en realidad una parte separada del
compilador, la mayora de los compiladores generan cdigo como
parte del proceso de anlisis sintctico, esto es debido a que
requieren del rbol de sintaxis y si este no va a ser construido
fsicamente, entonces deber acompaar al analizador sintctico al
barrer el rbol implcito.
OPTIMIZACIN DE CDIGO INTERMEDIO
Objetivo
Obtener cdigo que se ejecuta ms eficientemente
segn los Criterios

Tiempo de ejecucin (optimizacin temporal)
Espacio de memoria utilizado (optimizacin
espacial)
Funcionamiento
Revisa el cdigo generado a varios niveles
de abstraccin y realiza las optimizaciones
aplicables al nivel de abstraccin

Representaciones de cdigo intermedio de
ms a menos
abstractas
1.7 Fases de un compilador
Es un programa informtico que traduce un programa escrito en un lenguaje de programacin
a otro lenguaje de programacin, es decir es un programa que permite traducir el cdigo
fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (lenguaje
mquina). Generando un programa equivalente a capaz de interpretar.

Fases de un Compilador.











De manera general cualquier compilador tiene 2 fases principales:
anlisis del programa a compilar (Comprueba que el programa esta escrito
conforme alas reglas de lenguaje)
y sntesis de un programa en lenguaje maquina (genera el texto equivalente en el
lenguaje objeto)

1.7 Fases de un compilador
Ejemplos:
Cdigo Fuente
Compilador
Cdigo Objeto
Bsqueda de
Errores
1.7 Fases de un compilador
Ejemplos:
Cdigo Fuente
Compilador
Cdigo Objeto
Bsqueda de
Errores

You might also like