Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PRELIMINARES:
¿ Cómo podemos describir un lenguaje ?
Definición por extensión: Listado de todas las palabras del lenguaje.
Ejemplo: Σ = { a, b, c } L1 = { aa, ab, ac, ba, bb, bc, ca, cb, cc }
L2 = { aaa, aba, aca, bbb, bab, bcb, ccc, cac, cbc }
Definición por comprensión: Especificación de atributos de las palabras.
Ejemplo: Σ = { a, b, c } L3 = { w / w Σ* |w| = 50 }
L4 = { w / w Σ* w = w -1 }
Definición por patrones: Expresión de palabras con parámetros.
Ejemplo: Σ = { 0, 1 } L5 = { 0.1 n.0 / n 1 }
L6 = { 0 n .1 k / n 0, k 5 }
Noción de Gramática:
De las formas de descripción de un lenguaje que vimos anteriormente,
ninguna resulta eficiente cuando se trata de un lenguaje complejo como podría
ser un lenguaje natural o un lenguaje de programación.
En estos caso resulta conveniente especificar un conjunto de reglas de
generación de las palabras que pertenecen exclusivamente al lenguaje que se
quiere describir. Este conjunto de reglas de formación junto con los símbolos
que utiliza dan lugar al concepto de GRAMÁTICA.
Ejemplo: Σ = { 0, 1 } Reglas: 1) Puede ser 0 o 1
2) Puede ser cualquier combinación de
símbolos que empiece con 1
Como vemos se trata del conjunto de números binarios naturales.
De tal modo que una frase se puede describir con las siguientes Reglas:
frase → sujeto predicado punto
sujeto → artículo sustantivo
sustantivo → María | Juan | nave | perro
artículo → El | La | λ
predicado → verbo objeto
verbo → corre | quiere | vuela
objeto → preposición sujeto | adverbio | λ
preposición → a | con
adverbio → rápidamente | ahora
punto → •
Donde encerramos entre paréntesis angulares a las estructuras
sintácticas para distinguirlas de los componentes léxicos, la barra vertical
se usa como disyunción y la flecha indica que la parte izquierda puede
reemplazarse por o generar a la parte derecha de la regla.
ING. JORGE BUABUD
U.T.N. – F.R.T.
S. y S. de los L. LINGÜÍSTICA MATEMÁTICA
S = frase
P ={ conjunto de reglas de producción enunciadas en el ejemplo }
1) G1 = { S, A, B } , { a, b } , { S → aSBA | abA , AB → BA ,
bB → bb , bA → ba , aA → aa } , S
2) G2 = { S, X, Y, Z } , { x, y, z } , { S → XSZ | Y , Y → yY | λ ,
X→x, Z→z},S
3) G3 = { S } , { a } , { S → a | aS } , S
FORMA SENTENCIAL:
EJEMPLOS:
Para la G del español tenemos la siguiente derivación más a la izquierda:
frase sujeto predicado punto
artículo sustantivo predicado punto
sustantivo predicado punto María predicado punto
María verbo objeto punto María corre objeto punto
María corre punto María corre .
que equivale a: S * María corre .
Para la G2 tenemos la siguiente derivación más a la derecha:
S XSZ XSz XYz XyYz Xyz xyz
o sea que: S * xyz
ING. JORGE BUABUD
U.T.N. – F.R.T.
S. y S. de los L. LINGÜÍSTICA MATEMÁTICA
L(G) = { w / w Σ*T S * w }
L(G) = L(G’) G G’
ING. JORGE BUABUD
U.T.N. – F.R.T.
S. y S. de los L. LINGÜÍSTICA MATEMÁTICA
G4 = { S, Q } , { a } , { S → a | Q , Q → aQ | a } , S
G5 = { S, Q, T } , { a } , { S → a | T | aTa , T → a | Q , Q → a | aQ } , S
Σ N = { I, L, D, G, R} P: I → LR | GR
Σ T = { a, ... , z, 0, ... , 9, _ } L → a | b | ... | z
D → 0 | 1 | ... | 9
S=I R → LR | DR | GR | λ
G→_
Σ N = { N, D, U, R} P: N → 0 | UR
Σ T = { 0, ... , 9 } R → DR | λ
D→0|U
S=N U → 1 | ... | 9
1) P→ D;{S}
2) D → D ; D | T id A
3) T → int | float | boolean | char
4) A → [ entero ] | λ
5) E → entero | real | falso | cierto | literal | id | id[E] | E + E | E E | E or E
6) S → S ; S | W | break | I | id = E | id[E] = E
7) W → while E do { S }
8) I → if E then { S } R
9) R → else { S } | λ
JERARQUÍA DE CHOMSKY:
JERARQUÍA DE CHOMSKY:
JERARQUÍA DE CHOMSKY:
JERARQUÍA DE CHOMSKY:
JERARQUÍA DE CHOMSKY:
S UVX X λ
JERARQUÍA DE CHOMSKY:
JERARQUÍA DE CHOMSKY:
JERARQUÍA DE CHOMSKY:
S T abD abc
JERARQUÍA DE CHOMSKY:
JERARQUÍA DE CHOMSKY:
G = N , T , P, S
N = { S } T = { a, b }
El lenguaje generado por esta
P: S → aSb | ab gramática es:
L(G) = {an bn / n 1 }
JERARQUÍA DE CHOMSKY:
S ab
S aSb aabb
JERARQUÍA DE CHOMSKY:
JERARQUÍA DE CHOMSKY:
G = N , T , P, S
N = { S, A } T = { a, b }
El lenguaje generado por esta
P: S → bbS | aaA gramática es:
A → aaA | bb L(G) = {(bb)n (aa)k bb / n0, k1}
JERARQUÍA DE CHOMSKY:
S aaA aabb
JERARQUÍA DE CHOMSKY:
JERARQUÍA DE CHOMSKY:
S Sab aaaab