Semantico Analisis
¿Cómo es el lenguaje?
Las dos primeras fases conceptuales de un compilador tienden a responder la pregunta de cómo es un lenguaje en términos de su estructura sintáctica y suselementos léxicos constituyentes
¿Qué es el lenguaje?
Las tres fases subsiguientes tratan de dar un significado único, preciso y computable a cada construcción del lenguaje de manera que elprogramador sepa definir programas semánticamente útiles y coherentes.
Traducción dirigida por la sintaxis
El significado de una construcción de un lenguaje está directamente relacionado con suestructura sintáctica según se representa en su árbol de análisis.
Las traducciones con significado computacional específico se pueden clasificar en 2 grandes grupos dependiendo el momento en que seaplican dentro del ciclo de compilación
Tipos de acciones de traducción semántica
Tiempo de compilación (semántica estática)
Las traducciones en tiempo de compilación son acciones que seaplican sobre los artefactos del compilador y que tienen efecto durante el proceso de compilación.
Tiempo de ejecución (semántica dinámica)
Las traducciones en tiempo de ejecución son accionesdirigidas a generar código ejecutable en tiempo de compilación para que se apliquen durante la ejecución del programa compilado.
Traducción dirigida por la sintaxis
Construcción Sintáctica
TraducciónSemántica
Tipo
Ejemplo
Tiempo de compilación
Tiempo de ejecución
Declaración de constantes
CONST MAX = 100;
Registrar MAX como constante entera de valor 100
Declaración de tipos
TYPE TVector =ARRAY [1..MAX] OF INTEGER;
Registrar Tvector como tipo ARRAY de tamaño 100 y base INTEGER
Declaración de variables
VAR v : TVector;
Comprobar que Tvector existe como un tipo y registrar v comouna variable de ese tipo
Declaración de procedimientos
PROCEDURE Sort (VAR v : TVector);
Registrar Sort como un procedimiento del ámbito en curso indicando la lista de tipos de los parámetros....
Regístrate para leer el documento completo.