Guía de Trabajos Prácticos Nro. 3 - Tema: Gramáticas

Anuncio
SINTAXIS Y SEMANTICA DE LOS LENGUAJES
GUIA DE TRABAJOS PRACTICOS N° 3- TEMA GRAMATICAS FORMALES
1- Que lenguaje formal genera la siguiente gramática formal
G= ({S, T}, {a}, {SaT,Ta, T ε},S)
2- Sea G ={T,Q},{a,b},{SaT | bQ, Ta|b, Qa | ε},S}
a) ¿La gramática con estas seis producciones genera la sentencia bab?. Justifique
b) ¿Cuál es el lenguaje formal generado por esta gramática?. Justifique.
3- Sea el Lenguaje Formal Regular infinito L={an b/n >=1}, las producciones de GR
son
SaS | aT
Tb
Genere las palabras del lenguaje izquierda y por derecha.
4- Indique cual es la mínima palabra del lenguaje del ejercicio 3 y muestre como se
genera.
5- Escriba la sucesión de producciones que aplicaría para generar la palabra aaab del
lenguaje del ejercicio 3
6- Escriba una GR que genere cualquier secuencia de uno ó más dígitos decimales
7- Una GIC = { {a,b},{S},{ SaSb, Sab},S}.
Deternine el lenguaje que genera
8- Sea la GIC con producciones
1- SST
2- Sab
3- TaaT
4- Tb
Genere la palabra abaaaab con derivación por izquierda y por derecha
9- Supongamos un Lenguaje de Programación en el que sus expresiones aritméticas
están formadas por los números enteros 2 y 6, el operador de suma (+) y siempre
termina con un punto y coma(;). Algunas expresiones aritméticas de este lenguaje
son:
2+6;
2+2+6;
VN = {S,E,T}
VT = {2, 6,+, ;}
P = {SE; ET | E +T, T2 | 6}
a) Genere la totalidad de las expresiones aritméticas
b) Determine aplicando derivación por izquierda si 6; es una expresión correcta
SINTAXIS Y SEMANTICA DE LOS LENGUAJES
GUIA DE TRABAJOS PRACTICOS N° 3- TEMA GRAMATICAS FORMALES
10- Dada la gramática G={ {s},{0,1},S,P}
donde P ={ ( S00S11), (0S101)}
A partir de su axioma determinar el conjunto, expresado como tal, de todas las
sentencias del lenguajes obteniendo explicitando todas las formas sentenciales para
llegar al resultado.
11- Clasifique la siguiente gramática de acuerdo a la forma de sus producciones y
obtenga el conjunto de todas sus palabras expresado como tal.
G= {{A,S},{a,b},S,P}
Siendo P= { (SaS), (SaA), (AbA), (Ab)}
12- El análisis sintáctico se lleva a cabo por el Parser; este es un programa que recibe
los tokens del Analizador Léxico y determina si dichas cadenas o palabras o
construcciones responden a la Gramática del lenguaje.
El Parser está organizado por un grupo de rutinas que convierte a los tokens en un
árbol sintáctico jerárquico; donde los tokens forman las hojas del árbol. (las hojas
son nodos que no tienen hijos)
(**)
Instrucción de asignación
=
identifi
expre.
posisción
expre.
posición
identif.
inicial
+
expre.
expre. *
expre
ident
const
velocidad
60
Donde los pintados de amarillo son los tokens y los demás los no terminales
Este árbol es una forma de representar el análisis sintáctico, es una forma de derivación
donde no se muestra en que orden se han aplicado las producciones. Diferencia esta
importante con la derivación vertical (DV) que veníamos haciendo
Recordando en la DV tenemos las siguientes posibilidades:
1)
Derivación por izquierda, análisis sintáctico descendente, comienza desde el
axioma reemplazando el NO terminal de mas a la izquierda
2)
Derivación por derecha, análisis sintáctico descendente, comienza desde el
axioma reemplazando el NO terminal de mas a la derecha
3)
Análisis sintáctico ascendente realiza el camino inverso comienza desde la
cadena obtenida aplicando las producciones, reemplazando los terminales por
los NO terminales hasta llegar al axioma
En base a todo esto se pide:
a) Formular la gramática correspondiente al árbol sintáctico representado en
(**)
b) Determinar cada una de las producciones necesarias para obtener la cadena
de tokens obtenidas en el árbol.
c) Clasificar la Gramática definida en el punto a) de acuerdo a las jerarquías de
Chomsky. Justifique
13- Sea la G={ {a,b,c,d}, {S,T},S,P}
P= S aST
Sb
TcT
Td
Analizar si la cadena aabcdd es sintácticamente correcta con:
a) Derivación vertical , análisis sintáctico descendente con derivación por izquierda
b) Derivación vertical, análisis sintáctico descendente con derivación por derecha.
c) Derivación vertical , análisis sintáctico ascendente
d) Árbol de derivación.
14- El L(G) esta formado por todas las cadenas que se puedan formar con 0 y 1.
Determine:
a) La G correspondiente por medio de la cuaterna y todas sus reglas de producciones.
b) Expresión mínima del lenguaje a través de sus terminales.
15- Dadas las producciones de una G:
SaSe | B
BbBe | C
C cCe | d
a) Clasifique a la gramática de acuerdo a la clasificación de Chomsky
b) Puede ser una gramática tipo 0 ó tipo1
c) Puede tratarse de una gramática tipo 3
Descargar