Analisis Semantico

Páginas: 31 (7553 palabras) Publicado: 30 de septiembre de 2012
Procesadores de Lenguajes
Ingeniería Técnica superior de Ingeniería Informática
Departamento de Lenguajes y Sistemas informáticos

Análisis semántico I
Traducción dirigida por la sintaxis
Javier Vélez Reyes jvelez@lsi.uned.es Departamento de Lenguajes Y Sistemas Informáticos UNED

Análisis semántico. Traducción dirigida por la sintaxis
Objetivos Generales

Objetivos Generales
›Aprender qué es la semántica de un lenguaje de programación › Entender cómo funciona la semántica operacional y distinguirla de otros tipos de semántica › Aprender cómo se inyecta información semántica en una gramática › Aprender el principio de traducción dirigido por la sintaxis › Conocer las gramáticas con atributos y las reglas y acciones semánticas › Aprender a distinguir los diferentes tipos deatributos que existen › Aprender a construir y analizar grafos de dependencia › Aprender a identificar compiladores de simple y doble pasada › Conocer los distintos tipos de formalismos de traducción que existen › Aprender a especificar definiciones dirigidas por la sintaxis › Aprender a especificar esquemas de traducción dirigidos por la sintaxis

Javier Vélez Reyes jvelez@lsi.uned.es Análisis semántico. Traducción dirigida por la sintaxis
Índice

Índice
› Introducción › Formalismos para la especificación de traducciones › Definiciones dirigidas por la sintaxis › Reglas semánticas › Atributos › Grafos de dependencia › Diseño de definiciones dirigidas por la sintaxis › Gramáticas con atributos por la izquierda › Esquemas de traducción dirigidas por la sintaxis › Acciones semánticas› Atributos › Diseño de esquemas de traducción › Traducción dirigida por la sintaxis en la práctica › Bibliografía
Javier Vélez Reyes jvelez@lsi.uned.es

Análisis semántico. Traducción dirigida por la sintaxis
Introducción

¿Qué es la semántica de un lenguaje?
Tema 2 Tema 3 - 5 Tema 6 - 7 Tema 8 - 9 Tema 10 - 11

Etapa de análisis
While ( a > b ) do a := a + 1;

Etapa de síntesisAnalizador sintáctico

Código intermedio

Analizador léxico

e·l·i· h·w



S WHILE E DO S

√S
WHILE E DO S E > E

E > E

LD a t1 LD b t2 GRT t3 t1 t2 BRZ t3 L1 …

Código final

Analizador semántico

0000 0011 0000 0011 0100 0001 0100 0000 0001 0010 …

¿Cómo es el lenguaje?
Las dos primeras fases conceptuales de un compilador atienden a responder la pregunta de cómo es unlenguaje 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

Javier Vélez Reyes jvelez@lsi.uned.es

Análisis semántico. Traduccióndirigida por la sintaxis
Introducción

¿Qué es la semántica de un lenguaje?
El análisis sintáctico de un código fuente comprueba que la secuencia de tokens llegada desde el analizador léxico se corresponde con la esperada de acuerdo a las prescripciones gramaticales y se obtiene como resultado un árbol de análisis sintáctico. Hemos obtenido por tanto una secuencia correcta de tokens pero nadasabemos acerca de qué significado intencional subyace a la misma
PROGRAM BubbleSort; CONST MAX = 100; TYPE TVector = ARRAY [1..MAX] OF INTEGER; VAR v: TVector; PROCEDURE ReadVector (VAR v : TVector); ... PROCEDURE Sort (VAR v : TVector, size : INTEGER); VAR i, j, tmp : INTEGER; BEGIN FOR i := size - 1 DOWNTO 1 DO FOR j := 1 TO i DO IF (v[j] > v[j + 1]) THEN BEGIN tmp := v[j]; v[j] := v[j + 1]; v[j +1] := tmp; END; END; BEGIN ReadVector (v); sort (v, MAX); END.



Sabemos comprobar que este código fuente corresponde a un programa en Pascal de acuerdo a la gramática del lenguaje. Pero, ¿que significan la declaración de constantes, tipos, variables, funciones y procedimientos, las sentencias, expresiones, etc. que en él aparecen?

Javier Vélez Reyes jvelez@lsi.uned.es

Análisis...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Analisis semantico
  • Análisis semántico
  • Analisis semantico
  • Analisis semantico
  • Analisis semantico
  • ANÁLISIS SEMÁNTICO
  • Analisis Semantico
  • análisis semantico

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS