Instituto Tecnológico de Pachuca Lenguajes y Autómatas I “Mapa Conceptual” de Unidad VI Profesor: MATI. Arturo Gonzále
Views 151 Downloads 4 File size 282KB
Instituto Tecnológico de Pachuca Lenguajes y Autómatas I
“Mapa Conceptual” de Unidad VI Profesor:
MATI. Arturo González Cerón Alumno:
González Castañeda Jesús 12200606
Ingeniería en Sistemas Computacionales 2 de Junio del 2015
Lenguajes y Autómatas I | Unidad VI: Análisis Sintáctico|
Análisis Sintáctico
Fase del analizador se encarga de checar el texto de entrada
Arboles de derivación Diagramas donde muestran gráficamente como puede formase una palabra de E.
Accede a la tabla de símbolos Chequeo de tipos Generar de Código Intermedio Generar errores cuando se producen
Métodos
Análisis sintáctico Descendente Análisis sintáctico Ascendente
(GLC) G=(N,T,P,S)
Gramática Libre de contexto (GLC)
Describen bloques anidados en lenguajes N= NO Pueden ser reconocidos de programación TERMINALES Piden que exista un no por un autómata de pila T= TERMINALES terminal del lado P=REGLAS DE determinista y no izquierdo de la PRODUCCION determinista S= AXIOMA INICIAL
TERMIANLES: símbolos básicos para formar cadenas if then y else NO TERMINALES: variables sintácticas denotan conjuntos de cadenas expr y prop AXIOMA INICIAL: en una gramática, un no terminal se considera a su vez como el símbolo inicial PRODUCCIONES: especifican forma como se combinan
Forma normal de Chomsky Tipos de Analizadores sintácticos Descendentes LL & JavaCC Ascendentes Yacc
(Bottom-UP-Parser)
No genera palabra Formavacía normal de
Pasos para su transformación:
Elimina reglas unitarias Chomsky Elimina reglas no productivas Dando formato correspondiente G’=(N’,T’,P’,S’) FNC, reglas Un no terminal solo puede derivar en un terminal Un no terminal solo puede Reglas: en otros dos no derivarse terminales Un símbolo No terminal se puede expandir Todo diagrama tiene un punto de entrada y uno de salida se presenta como un arco sin origen Los No terminales se dibujan como rectángulos Los símbolos terminales Tokens se dibujan como eclipses
Oraciones aseverativas Aseverativa, Imperativa, interrogativa, exclamativa,
la los
Diagramas de Sintaxis
Grafo dirigido en donde todos los nodos representan símbolos terminales y no terminales de la gramática
Sus producciones se representan por BNF (Backus Normal Form)
Eliminación de ambigüedad
Una gramática es ambigua si genera más de una estructura a partir de la misma raíz y con la misma cosecha
Se dan cuando derivaciones distintas generan estructuras diferentes para la misma cadena Existen:
Se verifican manualmente
La presencia de operadores no se respeta Agrupaciones arbitrarias de operadores con la misma precedencia
Se genera mediante
Ambigüedad en el lenguaje Ambigüedad en la gramática
Estrategias
Escribir de forma correcta la gramática Ignorar el problema modo pánico Calcular el FIRST/PRIMERO Tabla Recuperación de frase de chequeo adenivel sintaxis en donde se Calcular el FOLLOW/SIGUINTE Reglas de producción para control de errores sabe que regla aplicar Construir la tabla de análisis sintáctico Corrección global
Matriz Manejo predictivade errores
Conclusión El mapa conceptual descrito anteriormente representa una aportación significativa al análisis sintáctico de los lenguajes El análisis sintáctico convierte el texto de entrada o en otras estructuras que son comúnmente conocidas como árboles. Un explorador léxico crea tokens de una secuencia de caracteres de entrada y son estos tokens los que son procesados por el analizador sintáctico para construir la estructura de datos. El análisis sintáctico de manera inicial realiza el análisis de frases de lenguaje natural. Es usado para generar diagramas de Los lenguajes habitualmente reconocidos por los analizadores sintácticos son los lenguajes libres de contexto. Cabe notar que existe una justificación formal que establece que los lenguajes libres de contexto son aquellos reconocibles por un autómata de pila, de modo que todo analizador sintáctico que reconozca un lenguaje libre de contexto es equivalente en capacidad computacional a un autómata de pila. Este enfoque presenta ventajas evidentes, entre la cuales cabe citar la simplificación de las pruebas de corrección de los algoritmos, los cuales son más fáciles de comprender y al ser ejecutados en un entorno homogéneo, son fácilmente comparables. En este mapa hemos adaptado este enfoque a los lenguajes de adjunción de árboles de derivación, proporcionando modelos de autómata con los que describir los algoritmos de análisis y técnicas de tabulación con las que pueden ser ejecutados eficientemente. Finalmente hemos analizado que dentro de los analizadores sintácticos que vimos, pudimos notar la diferencia entre los que son descendentes y los ascendentes, y sus principales características, viendo también la forma normal de Chomsky que es de gran importancia en el análisis sintáctico.