Unidad 1 Analisis semantico

April 30, 2018 | Author: Chysky | Category: Compiler, Programming Language, Parsing, Computer Programming, Software Engineering
Share Embed Donate


Short Description

Descripción: El Análisis Semántico es aquél que estudia a las palabras en función de su significado. Se trata de dete...

Description

Materia:  Autómatas II  Maestro: Ponce Alumno: Carlos A. Reynosa

González

Contenido

Introducción.................. Introducción........................... .................. .................. ................. ................. .................. .................. ........................................2 ...............................2  Análisis Semántico................ Semántico......................... ................. ................. .................. .................. .................. ................. ................. .................. ...............3 ......3  Arboles de expresiones................... expresiones............................ .................. .................. ................. ................. .................. .................. .................. .........  Acciones semánticas de un analizador sintáctico................. sintáctico.......................... .................. .................. .............!! ....!! Comprobaciones de tipos en expresiones..................... expresiones.............................. .................. .................. .................. ...............!! ......!! "s#uemas de $raducción.............. $raducción...................... ................. .................. .................. .................. ........................... ..............................!% ............!% Generación de la tabla de s&mbolo y de direcciones....................... direcciones................................ ................. ...............! .......! 'ane(o de errores semánticos................... semánticos............................ .................. .................. ................. ................. ....................... ..............2) 2) Conclusiones.................. Conclusiones.......................... ................. .................. .................. .................. .................. .................................... ....................................22 .........22

Introducción *ay determinadas caracter&sticas de los len+ua(es de pro+ramación #ue no pueden ser modeladas mediante +ramáticas contextuales y #ue es necesario comprobar en una ,ase posterior al análisis sintáctico. Por otro lado- las ,ases posteriores de la compilación o interpretación necesitan una representación de la entrada #ue les permita llear a cabo sus ,unciones de manera adecuada. "stas dos ertientes /detección de errores y representación de la in,ormación/ están muy relacionadas y se solapan en la práctica. Supon+amos- por e(emplo- #ue nuestro len+ua(e permite asi+naciones se+0n la re+la Asi+nación 1 id "xpresión4 "s 5abitual #ue se impon+an ciertas restricciones. "n nuestro casoestas podr&an ser "l identi,icador de la parte iz#uierda debe estar declarado preiamente. "l tipo de la expresión debe ser compatible con el del identi,icador. "l analizador semántico deber 6a comprobar #ue estas dos restricciones se cumplen antes de declarar #ue la sentencia de asi+nación está bien ,ormada. Pero sucede #ue la in,ormación necesaria para comprobarlas es 70til tambi8n para +enerar códi+o. "sto #uiere decir #ue si tuo 8ramos una separación estricta entre las ,ases del compilador- para +enerar códi+o deber&amos oler a mirar el identi,icador para saber a #u8 ob(eto 9ariable- ,unción- constante- etc.: corresponde y #ue tipo tiene y tambi8n deber&amos oler a comprobar los tipos de la expresión para +enerar el códi+o adecuado.

Análisis Semántico Se compone de un con(unto de rutinas independientes- llamadas por los analizadores mor,oló+ico y sintáctico. "l análisis semántico utiliza como entrada el árbol sintáctico detectado por el análisis sintáctico para comprobar restricciones de tipo y otras limitaciones semánticas y preparar la +eneración de códi+o. "n compiladores de un solo paso- las llamadas a las rutinas semánticas se realizan directamente desde el analizador sintáctico y son dic5as rutinas las #ue llaman al +enerador de códi+o. "l instrumento más utilizado para conse+uirlo es la +ramática de atributos. "n compiladores de dos o más pasos- el análisis semántico se realiza independientemente de la +eneración de códi+o- pasándose in,ormación a tra8s de un arc5io intermedio- #ue normalmente contiene in,ormación sobre el árbol sintáctico en ,orma linealizada 9para ,acilitar su mane(o y 5acer posible su almacenamiento en memoria auxiliar:. "n cual#uier caso- las rutinas semánticas suelen 5acer uso de una pila 9la pila semántica: #ue contiene la in,ormación semántica asociada a los operandos 9y a eces a los operadores: en ,orma de re+istros semánticos. ;a ,ase de análisis semántico de un procesador de len+ua(e es a#u8lla #ue computa la in,ormación adicional necesaria para el procesamiento de un len+ua(euna ez #ue la estructura sintáctica de un pro+rama 5aya sido obtenida. "s por tanto la ,ase posterior a la de análisis sintáctico y la 0ltima dentro del proceso de s&ntesis de un len+ua(e de pro+ramación. Sintaxis de un len+ua(e de pro+ramación es el con(unto de re+las ,ormales #ue especi,ican la estructura de los pro+ramas pertenecientes a dic5o len+ua(e. Semántica de un len+ua(e de pro+ramación es el con(unto de re+las #ue especi,ican el si+ni,icado de cual#uier sentencia sintácticamente álida.
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF