Está en la página 1de 3

Anlisis semntico Es la fase en la que se verifica que las reglas semnticas sean utilizadas en la construccin del rbol sintctico

utilizado para representar el programa para que este tenga coherencia, bsicamente lo que se lleva a cabo son: registro de declaraciones, inferencia de tipos, comprobacin de tipos, comprobacin de correccin semntica. Conceptos esenciales Como en cualquier tema a conocer, hay una serie de conceptos que son necesarios para la correcta y rpida comprensin del tema a abordar. Smbolos: Dentro de un programa el programador establece elementos con cualquier nombre mediante una declaracin, pero deben ser validos dentro del lenguaje (estos smbolos son las variables, constantes, funciones). Tipos: Todos los smbolos pertenecen a un tipo especfico de smbolo que es utilizado para saber que operaciones se pueden realizar sobre l. (los tipos son como: intger, char, string, doubl, real) mbitos de declaracin y alcance de visibilidad Un smbolo debe ser declarado dentro de las acotaciones sintcticas establecida en el lenguaje, el smbolo es vlido dentro del bloque que ha sido declarado mientas que fuera de este no es vlido en los trminos declarados, pueden existir smbolos que compartan el mismo nombre pero declarados en diferentes bloques Anidamiento de mbitos En el caso de la amidacin de mbitos, se crea una jerarqua en la cual los smbolos declarados en los mbitos externos son validos dentro del mbito ms interno, al mismo tiempo los smbolos declarados en el mbito ms interno son validos solo dentro del mbito anidado ms prximo, si llegasen a existir smbolos con el mismo nombre en diferentes mbitos y estos estn anidados sintcticamente, el valor que rige para el smbolo es el declarado dentro del mbito ms interno Qu es la comprobacin de tipos? Es donde se asigna a las construcciones sintcticas el tipo al cual pertenecen mediante una serie de comprobaciones, esta se realiza entre la fase de anlisis semntico y la generacin de cdigo intermedio

Tipos de comprobaciones semnticas 1 comprobaciones estticas: Son todas las tareas semnticas que pueden ser llevadas a cabo durante la compilacin, estas tareas dan seguridad a la ejecucin de nuestro programa 2 comprobaciones dinmicas Al contrario de las estticas las comprobaciones dinmicas no son realizados durante la compilacin, en vez de eso son llevadas a cabo durante la ejecucin del programa, para estos se genera cdigo ejecutable especial para llevar a cabo las comprobaciones, esto acarrea consecuencias tales como programas ms extensos y lentos Tipos de comprobaciones semnticas estticas 1 gestin de declaraciones Registra, comprueba y tipifica todas las declaraciones realizadas en el programa en todos los mbitos para evitar la colisin de los nombres en las declaraciones 2 verificaciones de tipos Se encarga de verificar que todos los tipos de los smbolos utilizados en diferentes declaraciones o acciones sean compatibles, y de que no se haga referencia a ningn smbolo no declarado 3 inferencias de tipos Si el programa est en un lenguaje que no contenga tipificacin de variables o con sobre carga, se llevan a cabo tareas de inferencia de tipos para verificar los tipos de datos de los smbolos dependiendo del contexto de evaluacin Qu es el sistema de tipos? Es donde toda la informacin relacionada a la tipificacin de los smbolos dentro del lenguaje, y las reglas de operaciones que pueden realizarse con ellos, dando menor probabilidad de fallo en el momento de ejecucin del programa Niveles de tipificacin Lenguajes fuertemente tipificados este tipo de lenguajes son ms seguros dado que el nivel de construccin es elevado lenguajes dbilmente tipificados estos lenguajes son los que dejan las comprobaciones para el tiempo de ejecucin

expresiones de tipos es la forma que utiliza el sistema de tipos para representar y distinguir entre los tipos de construccin sintctica de un lenguaje, teniendo cada tipo primitivo, constructor de tipo una expresin de tipo todo esto independiente de la sintaxis en la que se encuentre

También podría gustarte