Professional Documents
Culture Documents
1 Definicin de lenguaje
2 Lenguajes formales
2.1 Requisitos
2.2 Aplicaciones
2.3 Especificacin
2.4 Gramticas
2.4.1 Definicin y Ejemplos
2.4.2 Ambigedad
2.4.3 Clasificacin de Chomsky
2.5 Lenguajes y teora de autmatas
1
INTRODUCCIN A LOS LENGUAJES
3 Traductores e intrpretes
3.1 Anlisis lxico
3.2 Anlisis sintctico
3.3 Anlisis semntico
3.4 Generacin de la salida
2
1. DEFINICIN DE LENGUAJE
Ejemplos
Lenguaje habitual (oral o escrito)
Lenguaje de las seales de trfico
Lenguaje de los sordomudos
Lenguaje para que los ciegos puedan leer
Lenguaje matemtico
Lenguaje mquina
Lenguajes de programacin
Etc
3
1. DEFINICIN DE LENGUAJE
Fundamento bsico:
asociacin SMBOLO-SIGNIFICADO
4
1. DEFINICIN DE LENGUAJE
B.L. Whorf
5
2. LENGUAJES FORMALES
2.1 Requisitos
No ambigedad
Cada cadena del lenguaje debe tener una nica
interpretacin
Completitud en su definicin
Ejemplo: imaginemos que no se define la situacin
de una variable ndice de bucle al finalizar el mismo
6
2.2 APLICACIONES
Diseo de software:
7
2.3 ESPECIFICACIN
SINTAXIS y SEMNTICA
8
2.3 ESPECIFICACIN
Sintaxis: especificacin
L= { aa, bb }
Por propiedades
L = { anbn | n>0 }
9
2.4 GRAMTICAS
G (Vt , Vn , P , S)
L={0n1n | n0}
G: R1 S 0S1
R2 S
Derivacin
Forma sentencial
Sentencia
11
GRAMTICAS EQUIVALENTES
G: R1 SAB G: R1 SASB
R2 AaA R2 S
R3 A R3 Aa
R4 BbB R4 A
R5 B R5 Bb
R6 B
12
2.4.2 GRAMTICAS AMBIGUAS
1. S ASB aSB aB ab
2. S ASB AASBB ASBB aSBB aBB
abB ab
Gramticas Tipo 0
V+ V*
Gramticas Tipo 1
V+ V* || ||
14
2.4.3 CLASIFICACIN DE CHOMSKY
Vn ||=1 V*
Vn ||=1
es de la forma: a N | N a |
a Vt
N Vn
15
Relacin de inclusin
Tipo 0
Tipo 1
Tipo 2
Tipo 3
16
2.5 LENGUAJES Y TEORA DE AUTMATAS
17
LENGUAJE REGULAR EQUIVALENTE
S0 a S1
S1 b S2 | c S3
S2 d S4
S3 e S4
S4 g S2 | f S3 |
18
3 TRADUCTORES E INTRPRETES
A=B+C*3
Herramienta: LEX
19
3.2 ANLISIS SINTCTICO
EJEMPLO: a := b + c * 3
20
3.2 ANLISIS SINTCTICO
21
Anlisis lxico / Anlisis sintctico
22
3.3 ANLISIS SEMNTICO
s=suma (a,b,c);
suma (int x, int y)
{
return(x+y);
}
23
3.4 GENERACIN DE LA SALIDA
1. Intrpretes
(ejecutan aquello especificado en el lenguaje)
2. Traductores
(generan una especificacin de salida, que luego
ser traducida o interpretada)
24
3.4 GENERACIN DE LA SALIDA
25