compiladores

Páginas: 7 (1713 palabras) Publicado: 21 de septiembre de 2014
Esta es la versión html del archivo http://www.campus.fi.unju.edu.ar/courses/SSJ0001420071LS027/document/Diapositivas/clase6-2012-1.rar?cidReq=SSJ0001420071LS027.
G o o g l e automáticamente genera versiones html de documentos a medida que rastreamos la web.
Análisis Semántico 
¿Cómo es el lenguaje?
Las dos primeras fases conceptuales de un compilador tienden a responder la pregunta de cómoes un lenguaje en términos de su estructura sintáctica y sus elementos 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 el programador sepa definir programas semánticamente útiles y coherentes
Análisis Semántico 
¿Qué es la semántica de un lenguaje?
Es necesario definir computacionalmente la semántica de un lenguaje para que el compilador sepa interpretar cada posible código fuente del mismo. La forma más sencilla de hacer esto es asociar a cada posible construcción gramatical ciertas reglas que permitan traducirla en términos computables. Esto sólo es posible si se cumple el principio de traducción dirigido por la sintaxis 
Traducción dirigida por lasintaxis 
El  significado de una construcción de un lenguaje está directamente relacionado con su estructura sintáctica según se representa en su árbol de análisis
Análisis Semántico 
Las traducciones con significado computacional especifico se pueden clasificar en 2 grandes grupos dependiendo el momento en que se aplican dentro del ciclo de compilación 
Tipos de acciones de traducciónsemántica 
Tiempo de compilación (semántica estática)
Las traducciones en tiempo de compilación son acciones que se aplican 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 acciones dirigidas a generar código ejecutable en tiempo de compilación para que se apliquen durantela ejecución del programa compilado 
Traducción dirigida por la sintaxis
Análisis Semántico 
Traducción dirigida por la sintaxis 
Construcción Sintáctica 
Traducción Semá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] OFINTEGER; 
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 como una 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. Crear un nuevoámbito y registrar en él v como variable de tipo TVector
Análisis Semántico 
Traducción dirigida por la sintaxis 
Construcción Sintáctica 
Traducción Semántica 
Tipo 
Ejemplo 
Tiempo de compilación 
Tiempo de ejecución 
Declaración de funciones 
Function Sort (VAR v : TVector):INTEGER; 
Adicionalmente al caso de procedimientos registrar que el tipo de retorno es INTEGER 
Expresiones v[j] > v[j + 1]; 
Comprobar que v esta declarado previamente y que es de tipo TVector. Asegurarse de que las sub-expresiones son correctas y de tipos compatibles con el operador mayor que  
Generar código para recuperar de memoria el valor de las sub-expresiones y aplicar la comparación entre ambos con los operadores del lenguaje de bajo nivel 
Sentencia For 
FOR j := 1 TO i DO 
Comprobar quela expresión 1 e i son de tipo INTEGER. Comprobar que j ha sido previamente declarada como una variable de tipo INTEGER 
Generar código para inicializar j a 1. Generar código de salto para iterar la ejecución del bloque dentro de FOR i veces. Generar código para actualizar a cada paso el valor de j a j+1
 
 
 
 
 
 
 Análisis Semántico 
Definiciones dirigidas por la sintaxis 
Las...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Compiladores
  • Compilador
  • COMPILADORES
  • Compiladores
  • Compiladores
  • Compiladores
  • compiladores
  • Compiladores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS