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}, {SaT,Ta, T ε},S) 2- Sea G ={T,Q},{a,b},{SaT | bQ, Ta|b, Qa | ε},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 SaS | aT Tb 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},{ SaSb, Sab},S}. Deternine el lenguaje que genera 8- Sea la GIC con producciones 1- SST 2- Sab 3- TaaT 4- Tb 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 = {SE; ET | E +T, T2 | 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 ={ ( S00S11), (0S101)} 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= { (SaS), (SaA), (AbA), (Ab)} 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 Sb TcT Td 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: SaSe | B BbBe | 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