Paradigmas y Perspectivas Futuras en Computaci - PowerPoint PPT Presentation

About This Presentation
Title:

Paradigmas y Perspectivas Futuras en Computaci

Description:

La Jerarqu a de Chomsky Tipo Nombre del Lenguaje Nombre de la Gram tica Restricciones sobre la Gram tica M quina Aceptadora 0 Recursivamente Enumerable ... – PowerPoint PPT presentation

Number of Views:78
Avg rating:3.0/5.0
Slides: 30
Provided by: Manuel250
Learn more at: https://www.cise.ufl.edu
Category:

less

Transcript and Presenter's Notes

Title: Paradigmas y Perspectivas Futuras en Computaci


1
Introducción a la Teoría de Lenguajes
Curso de Compiladores
Preparado por Manuel E. Bermúdez, Ph.D. Profesor
Asociado University of Florida
2
Introducción a la Teoría de Lenguajes
Definición Un alfabeto (o vocabulario) S es un
conjunto finito de símbolos. Ejemplo Alfabeto
de Pascal - / lt (operadores)? begin
end if var (Palabras reservadas)? ltidentifiergt
(Identificadores)? ltstringgt (hileras)? ltinte
gergt (enteros)? , ( ) (puntuación)?
Nota Todos los identificadores son representados
por un símbolo, porque S debe ser finito.
3
Introducción a la Teoría de Lenguajes
Definición Una secuencia t t1t2tn de símbolos
de un alfabeto S es una hilera. Definición La
longitud de la hilera t t1t2tn (se denota
t) es n. Si n 0, la hilera es e, la hilera
vacía. Definición Dadas las hileras s
s1s2sn t t1t2tm, la concatenación de s
y t se denota st, y es la hilera
s1s2snt1t2tm.
4
Introducción a la Teoría de Lenguajes
Nota eu u ue, uev uv, para hileras
cualesquier u,v (incluyendo e)? Definición S
es el conjunto de todas las hileras de símbolos
de S. Nota S es llamada la clausura transitiva
y reflexiva de S. S está descrito por un grafo
(S, ), donde denota concatenación, y hay un
nodo de inicio designado, e.
5
Introducción a la Teoría de Lenguajes
Ejemplo S a, b. (S, ) S es
contablemente infinito no se puede calcular todo
S. Solo se pueden calcular subconjuntos finitos
de S. Pero SÍ se puede calcular si una hilera
dada pertenece a S.
aa
a
a
aba
b
a
ab
a
b
abb
e
b
ba
a
b
b
bb
6
Introducción a la Teoría de Lenguajes
  • Ejemplo S Vocabulario de Pascal.
  • S Todos los posibles programas potenciales
    de Pascal, i.e. todas las posibles entradas al
    compilador de Pascal.
  • Deseamos especificar L ? S, los programas de
    Pascal correctos.
  • Definición Un lenguaje L sobre un alfabeto S es
    un subconjunto de S.

7
Introducción a la Teoría de Lenguajes
  • Ejemplo S a, b.
  • L1 ø es un lenguaje
  • L2 e es un lenguaje
  • L3 a es un lenguaje
  • L4 a, ba, bbab es un lenguaje
  • L5 anbn / n gt 0 es un lenguaje
  • donde an aaa, n veces
  • L6 a, aa, aaa, es un lenguaje
  • Nota L5 es un lenguaje infinito, pero descrito
    finitamente.

8
Introducción a la Teoría de Lenguajes
  • ESTE ES EL OBJETIVO PRINCIPAL DE LA
    ESPECIFICACION DE LENGUAJES
  • Describir (en forma finita) un lenguaje de
    programación (infinito), y proporcionar un
    algoritmo de prueba-de-inclusión correspondiente
    (finito).

9
Constructores de Lenguajes
Definición La concatenación (o producto) de dos
lenguajes L1 y L2, se denota L1L2, y es el
conjunto uv u?L1, v?L2. Ejemplo L1 e,
a, bb, L2 ac, c L1L2 ac, c,
aac, ac, bbac, bbc ac, c,
aac, bbac, bbc
10
Constructores de Lenguajes
  • Definición Ln LLL (n veces),
  • y L0 e.
  • Ejemplo L a, bb
  • L3 aaa, aabb, abba,
    abbbb, bbaa, bbabb, bbbba, bbbbbb

11
Constructores de Lenguajes
Definición La unión de dos lenguajes L1 y L2 es
el conjunto L1 L2 u u?L1 v
v?L2 Definición La clausura de Kleene (L) de
un lenguaje es el conjunto L U Ln, n
gt0. Ejemplo L a, bb L cualquier hilera
compuesta de as y bbs Definición La clausura
transitiva(L) de un lenguaje L es el conjunto L
U Ln, n gt 1.
n
n
12
Constructores de Lenguajes
Nota En general, L L U e, pero L ? L -
e. Por ejemplo, considerar L e.
Entonces e L ? L e e e ø.
13
Gramáticas
  • Objetivo Proporcionar un mecanismo finito para
    la descripción de lenguajes infinitos.
  • Método Se da un subgrafo (S, ?) de (S, ), y
    un nodo inicial S, tal que los nodos accesibles
    (desde S) son las hileras en el lenguaje.

14
Gramáticas
Ejemplo S a, b L anbn / n gt 0
a
aaa

aaba
a
aa
a
aab
b
b
b
a
ab
a
aabb
e
a
ba
bbaa
a
b
a
b
bba
b
bb
bbab
b
bbb
b
15
Gramáticas
Definición gt (deriva) es una relación
definida por un conjunto finito de reglas
de re-escritura conocidas como producciones. Defi
nición Dado un vocabulario V, una producción es
un par (u, v) ? V x V, denotado u ? v. u es
llamada la parte-izquierda v es llamada la
parte-derecha.
16
Gramáticas
Ejemplo Pseudo-Inglés. V Sentence, NP, VP,
Adj, N, V, boy, girl, the, tall,
jealous, hit, bit Sentence ? NP VP (una
producción)? NP ? N NP ? Adj NP N ?
boy N ? girl Adj ? the Adj ?
tall Adj ? jealous VP ? V NP V ?
hit V ? bit Nota El inglés es demasiado
complicado para ser descrito de esta manera.
17
Gramáticas
Definición Dado un conjunto finito de
producciones P ? V x V, se define la
relación gt tal que para todo ?, ß, u, v ?
V , ?uß gt ?vß sii (u,v) ? P es una
producción. Ejemplo Sentence ? NP
VP Adj ? the NP ? N Adj ? tall
NP ? Adj NP Adj ? jealous N ?
boy VP ? V NP N ? girl V ?
hit V ? bit
18
Gramáticas
  • Sentence gt NP VP
  • gt Adj NP VP
  • gt the NP VP
  • gt the Adj NP VP
  • gt the jealous NP VP
  • gt the jealous N VP
  • gt the jealous girl VP
  • gt the jealous girl V NP
  • gt the jealous girl hit NP
  • gt the jealous girl hit Adj NP
  • gt the jealous girl hit the NP
  • gt the jealous girl hit the N
  • gt the jealous girl hit the boy

19
Gramáticas
Definición Una gramática es una tupla de 4
elementos, G (F, S, P, S), donde F es un
conjunto de no-terminales, S es un conjunto de
terminales, V F U S es el vocabulario de la
gramática, S ? F es el símbolo de inicio (o
meta), y P ? V x V es un conjunto finito de
producciones. Ejemplo Gramática para anbn
/ n gt 0 G (F, S, P, S), donde F S, S
a, b, y P S ? aSb, S ? e
20
Gramáticas
Derivaciones S gt aSb gt aaSbb gt aaaSbbb gt
aaaaSbbbb ? e ab aabb
aaabbb aaaabbbb Nota Normalmente, las
gramáticas son dadas por un simple listado de las
producciones.
gt
gt
gt
gt
gt
21
Convenciones gramaticales
  • convención
    del TWS
  • Letra mayúscula (identificador) nonterminal
  • Letra minúscula(hilera) terminal
  • Letra griega minúscula hileras en V
  • La parte izquierda de la primera producción se
    considera el símbolo de inicio, ej.
  • S ? aSb
  • S ? e
  • La parte izquierda se omite si es la misma que
    para la producción anterior, ej.
  • S ? aSb
  • ? e

22
Gramáticas
Ejemplo Gramática para identificadores.
Identificador ? Letra ? Identificador
Letra ? Identificador Dígito Letra
? a ? A ? b ? B .
. ? z ? Z Dígito ? 0 ?
1 . . ? 9
23
Gramáticas
Definición El lenguaje generado por la gramática
G, es el conjunto L(G) ? ? S S
gt ? Definición Una forma sentencial
generada por una gramática G es cualquier hilera
? tal que S gt ? . Definición Una sentencia
generada por una gramática G es cualquier forma
sentencial ? tal que ? ? S.
24
Gramáticas
Ejemplo formas sentenciales S gt aSb gt
aaSbb gt aaaSbbb gt aaaaSbbbb gt e
ab aabb aaabbb
aaaabbbb Lemma L(G) ? es una
sentencia Prueba Trivial.
gt
gt
gt
gt
gt
sentencias
25
Gramáticas
  • Ejemplo A ? aABC
  • ? aBC
  • aB ? ab B se reemplaza con b,
    pero
  • bB ? bb solamente en el
    contexto bC ? bc de
    tener a ó b a la izquierda
  • CB ? BC
  • cC ? cc

26
Gramáticas
Derivación A gt aABC gt aaABCBC gt
aBC aaBCBC
aaaBCBCBC
abC aabCBC aaaBBCBCC
abc aabBCC
aaaBBBCCC
aabbCC aaabBBCCC
(2)? aabbcC
aaabbbCCC
aabbcc aaabbbcCC
(2)?

aaabbbccc L (G) anbncn n gt 1 sensible
al contexto
gt
gt
gt
gt
gt
gt
  • A ? aABC
  • ? aBC
  • aB ? ab
  • bB ? bb
  • bC ? bc
  • CB ? BC
  • cC ? cc

gt
gt
gt
gt
gt
gt
gt
gt
gt
gt
27
La Jerarquía de Chomsky
Una jerarquía de gramáticas, de los lenguajes que
generan, y de las máquinas que aceptan esos
lenguajes.
28
La Jerarquía de Chomsky
Tipo Nombre del Lenguaje Nombre de la Gramática Restricciones sobre la Gramática Máquina Aceptadora
0 Recursivamente Enumerable Sistema de re-escritura sin restricciones Ninguna Máquina de Turing
1 Lenguaje sensible al contexto Gramática sensible al contexto Para todo ???, ?? Máquina Acotada Lineal
2 Lenguaje libre de contexto Gramática libre de contexto Para todo ???, ??F. Autómata de pila (parser)
3 Lenguaje Regular Gramática Regular Para todo ???, ??F, ??? U ?FU? Autómata de Estado Finito (lexer)
29
Jerarquía del Chomsky
0 Lenguajes Recursivamente Enumerables
1 Lenguajes Sensibles al Contexto
Trataremos con los lenguajes de tipo 2 (sintaxis)
y los de tipo 3 (léxico).
2 Lenguajes Libres de Contexto
3 Lenguajes Regulares an n gt 0
anbn ngt0
anbncn ngt0
Lenguaje natural ?
Write a Comment
User Comments (0)
About PowerShow.com