presentación de powerpoint...gramáticas tipo 2(independientes o libres de contexto) •generan los...

24

Upload: others

Post on 10-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A
Page 2: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Contenido • Lenguaje generado por una gramática (Derivaciones)

• Ejemplo

• Jerarquía de Chomsky

• Gramáticas tipo 3

• Gramáticas tipo 2

• Gramáticas tipo 1

• Gramáticas tipo 0

• Descripción de las gramáticas

• Ejercicios 04

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco)

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

2

Page 3: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Lenguaje generado por una gramática • Definición: Decimos que la cadena w1 deriva en un paso a la cadena w2 (w1 G w2) si y solo si existen cadenas x, y V* tales que w1 = x u y y w2 = x v y y además existe una regla u v en P.

• Se acostumbra omitir el subíndice que indica la gramática G.

• Definición: una cadena w V * es derivable a partir de la gramática G si y solo si existe una secuencia de derivación iniciando en el símbolo inicial y terminando en la cadena w:

• S = w1 w2 w3 wn = w.

• Escribimos si deriva a en 0 o más pasos.

• Definición: el lenguaje generado por una gramática G, L(G), es igual al conjunto de las palabras en VT derivables a partir de G. • Una gramática describe las reglas sintácticas del lenguaje. Si una palabra u oración

no sigue las reglas, entonces no pertenecen al lenguaje generado por la gramática.

G

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 3

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

3

Page 4: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Ejemplo • G = ( VT , VN , S , P )

• VN = {S, A, B} • VT = {a, b, c} • P:

• S AccA • A BA | • B a | b | c

Cadena Regla Derivación S S AccA S AccA AccA A BA BAccA BAccA B a aAccA aAccA A BA aBAccA aBAccA B b abAccA abAccA A abccA abccA A abcc w1 = abcc L(G) y w2 = acb L(G)

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 4

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

4

Page 5: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

En 1950 el lingüista norteamericano Avram Noam Chomsky introdujo la

teoría de las gramáticas transformacionales o teoría de lenguajes formales,

que convirtió la lingüística en una ciencia y proporcionó una herramienta

que no sólo podía aplicarse a los lenguajes naturales, sino que facilitaba el

estudio y la formalización de los lenguajes para la programación de

computadoras (1960).

Estudio

tradicional

de los

lenguajes

gramática

semántica

análisis de la

estructura de las frases

estudio de su

significado

morfología

sintaxis

fonética aún no

aplicable a los

lenguajes de

computación

Diversas formas que

toman las palabras según

su valor en la frase

Diversas formas en que se

combinan las palabras para

formar frases correctas

Propiedades del

lenguaje hablado

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

5

Page 6: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

• En función de la forma de sus producciones, se puede caracterizar qué tan compleja es una gramática formal.

• Noam Chomsky mostró que esta caracterización clasifica jerárquicamente a las gramáticas formales: Gramáticas en un nivel están incluidas en los siguientes niveles y la inclusión entre niveles es propia.

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 6

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

6

Page 7: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 7

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

7

Page 8: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Gramáticas Tipo 3 (gramáticas regulares) • Generan los lenguajes regulares. Las reglas (producciones) se

restringen a un único no terminal en la parte izquierda y una parte derecha compuesta por un único terminal que puede estar seguido o no de un único no terminal. Es decir, normas del tipo:

AaB

A a

• Estos lenguajes son los que pueden ser decididos por un autómata finito (regular). Los lenguajes regulares se utilizan para definir estructura léxica de los lenguajes de programación. Definen la sintaxis de los identificadores, números, cadenas y otros elemntos básicos del lenguaje.

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 8

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

8

Page 9: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Gramáticas Tipo 2(independientes o libres de

contexto)

• Generan los lenguajes libres de contexto. Están definidas por reglas de la forma:

• A

• A es un no terminal

• es una cadena de terminales y no terminales.

• Se denominan independientes de contexto porque A puede sustituirse por

independientemente de las cadenas por las que esté acompañada.

• Estos lenguajes son todos los lenguajes que pueden ser reconocidos por los

autómatas de pila.

• Los lenguajes independientes de contexto constituyen la base teórica para la sintaxis de la

mayoría de los lenguajes de programación. Definen la sintaxis de las declaraciones, las

proposiciones, las expresiones, etc.(i.e. la estructura de un programa).

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco)

9

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

9

Page 10: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Gramáticas Tipo 1 (dependientes de contexto)

• Generan los lenguajes dependientes de contexto. Contienen reglas de producción de la forma:

A

A es un no terminal

, y son cadenas de terminales y no terminales.

y pueden ser vacíos, pero ha de ser distinto del vacío.

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 10

Jerarquía de Chomsky

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

10

Page 11: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Gramáticas Tipo 1 (Continuación)

• Se denominan gramáticas dependientes del contexto, porque, como se observa, A puede ser sustituido por si está acompañada de por la izquierda y de por la derecha.

• Estos lenguajes son todos los lenguajes que pueden ser reconocidos por autómatas lineales acotados.

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 11

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

11

Jerarquía de Chomsky

Page 12: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

•Gramáticas Tipo 0 (sin restricciones, recursivas)

• Incluyen todas las gramáticas formales.

• El más general, al que pertenece la semántica de los lenguajes

naturales y artificiales.

• A estos lenguajes no se les impone restricción alguna.

• Estos lenguajes son todos los lenguajes que pueden ser reconocidos por una máquina de Turing.

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 12

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

12

Page 13: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

• Se dice que un lenguaje es de tipo k [k = 0, k = 1, k = 2,

k = 3] cuando existe una gramática de tipo k que genera

ese lenguaje.

• La clasificación de la gramática será la correspondiente al

tipo de la producción de menor clasificación.

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 13

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

13

Page 14: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Gramática Lenguaje Reglas de

Producción

Si ,

relación entre

|| y ||

Solución

Tipo-0 Recursivas Sin

restricciones

Máquinas de

Turing

Tipo-1 Dependiente de

contexto αAβ αγβ

|| ||

Autómatas

lineales

acotados

Tipo-2 Independiente de

contexto A γ

|| = 1 Autómatas de

pila

Tipo-3 Regular A aB

A a

|| = 1

Autómatas

finitos,

regulares

G3 G2 G1 G0

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 14

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

14

Page 15: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Descripción de las gramáticas Gramáticas Regulares (tipo 3 o G3)

• Gramáticas Regulares (tipo 3 o G3)

• El lado izquierdo consiste sólo de una variable.

• El lado derecho consiste de

• Un símbolo terminal seguido de una variable ó

• Sólo un símbolo terminal ó

• La cadena vacía.

P.g.: A aB | a |

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 15

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

15

Page 16: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Descripción de las gramáticas Gramáticas Regulares (tipo 3 o G3)

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 16

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

16

Page 17: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Descripción de las gramáticas Gramáticas Libres de Contexto, GLC, (tipo 2 o G2)

• Gramáticas Libres de Contexto, GLC, (tipo 2 o G2)

• El lado izquierdo consiste sólo de una variable.

• No hay restricciones para el lado derecho.

P.g.: S aSb | ab |

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 17

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

17

Page 18: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Descripción de las gramáticas Gramáticas Libres de Contexto, GLC, (tipo 2 o G2)

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 18

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

18

Page 19: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

• Gramáticas Sensitivas al Contexto (tipo 1 o G1) A es un símbolo no terminal. Además, las reglas son no-contractivas, i.e. la longitud del lado izquierdo es menor o igual a la longitud del lado derecho. Esta propiedad de no-contracción garantiza que un lenguaje sensitivo al contexto no contiene .

P.g.:

S abc | aAbc Ab bA Ac Bbcc

bB Bb aB aa | aaA

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 19

Descripción de las gramáticas Gramáticas Sensitivas al Contexto (tipo 1 o G1)

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

19

Page 20: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 20

Descripción de las gramáticas Gramáticas Sensitivas al Contexto (tipo 1 o G1)

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

20

Page 21: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

• Gramáticas sin restricción (tipo 0 o G0), no hay restricciones para las reglas, excepto que el lado izquierdo no es .

P.g.:

S aSBC | aBC CB BC aB ab bB bb bC bc cC cc

A bc

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 21

Descripción de las gramáticas Gramáticas sin restricción (tipo 0 o G0)

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

21

Page 22: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Compiladores (Lenguajes y gramáticas II - Edgardo A. Franco) 22

Descripción de las gramáticas Gramáticas sin restricción (tipo 0 o G0)

14 Lenguajes y gramáticas II Compiladores - Profr. Edgardo Adrián Franco Martínez

22

Page 23: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Ejercicios 04

11 Análisis léxico VII Compiladores - Profr. Edgardo Adrián Franco Martínez

23

•Clasificar las siguientes gramáticas dadas sus reglas

de producción.

Ga Gb Gc Gd Ge

Z yX

X y

X

yX x

yW x

X xZy

YXWvZ

E E+T

E E-T

E T

T T*F

T T/F

T F

F (E)

F id

S aAbc Ab bA AcBbcc bBBbaB aa B aaA

S aS

S aN

N bN

N bM

N b

M c

Page 24: Presentación de PowerPoint...Gramáticas Tipo 2(independientes o libres de contexto) •Generan los lenguajes libres de contexto.Están definidas por reglas de la forma: •A •A

Ejercicios 04

11 Análisis léxico VII Compiladores - Profr. Edgardo Adrián Franco Martínez

24

•Fecha de entrega

Entregar en formato digital vía Web, con el

titulo "Ejercicios 04 Clasificación de

gramáticas" a más tardar el día lunes 04 de

abril de 2011.