Criterios Evaluación Portafolio de evidencias 5 Mapa conceptual 10 Practicas 30 Examen teórico 20 Analizador Sem. 35.

Slides:



Advertisements
Presentaciones similares
Traducción dirigida por la Sintaxis
Advertisements

CAPITULO 2 La Representación del Conocimiento
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
ANALISIS SINTACTICO Parte I
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
Programación de Sistemas
Unidad 1. Introducción a los Compiladores.
UNIVERSIDAD LATINA (UNILA)
1 Sebastián Argüello A60490 semana 3 Autómatas y compiladores CI-1322.
IV. GRAMÁTICAS DISTRIBUIDAS Y TABLAS DE SÍMBOLOS
Programación de Sistemas
Las tres primeras fases de un compilador suelen agrupan en un sola fase llamada Análisis del programa a compilar y las tres ultimas en una sola fase llamada.
Unidad 1: Conceptos fundamentales Instituto Tecnológico de Toluca Ing. Sistemas Computacionales Asignatura: Programación Lógica y Funcional Presentan Nieto.
A NÁLISIS L ÉXICO Y ANÁLISIS SINTÁCTICO. COMPILADORES ANÁLISIS LÉXICO Y ANÁLISIS SINTÁCTICO ANGIE EVILLA LUQUEZ CORPORACIÓN UNIVERSITARIA REMINGTON INGENIERÍA.
Traducción dirigida por la Sintaxis Teoría de Autómatas y Lenguajes Formales Alma María Pisabarro, 2007.
NIA Planeación de una auditoria de Estados Financieros. NOMBRE: Beatriz Acero Zapana CURSO: Auditoria Financiera ESCUELA: Ciencias Contables y Financiera.
Funciones en lenguaje C 2 Funciones Definición: – Las funciones son los bloques de construcción básicos de C. Dentro de ellas se da toda la actividad.
Ingreso , proceso y salida de datos
“Análisis y Descripción de Lenguajes de Programación”
¿Cómo almacenar datos dentro del computador?
Repaso Programacion en C
Rúbricas para la evaluación de proyectos Instrucciones generales para su creación y su uso Lamprini Kolioussi Agosto 2009.
Fundamentos de la programación orientada a objetos
PROCESO DE AUDITORIA PROCESO DE AUDITORÍA CR. O.ITUARTE.
Definición y Conversión de datos
La Organización vista como un sistema
Uso de tablas de datos de resultados
Estructura de datos Sesión 2.
Tema 6. Conceptos básicos de programación (Clase 2)
TUTORIAL PSeint.
La antigüedad: la piedra y el fuego
LÓGICA DE PROGRAMACIÓN
EXPRESIONES Una expresión es una forma especial de asignación.
Unidad 3. Introducción a la programación
Universidad Nacional de Loja
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
Algoritmo Capitulo Cinco.
COMPONENTES PROPIOS DE LA LENGUA
CONCEPTOS PRELIMINARES (Cont)
Modelo de interacción de usuario.  El Desarrollo basado en modelos de la interfaz de usuario, en inglés Model-based User Interface Development (MB-UID),
Compiladores Introducción al Análisis Sintáctico Gramáticas de Contexto Libre, Arboles de Parseo y Derivaciones.
 Objetivo: Dar mayor y mejor cobertura de cajas habilitadas en horarios de alta demanda  Alcance : Cajeras  Definiciones: Piloto : Cantidad Definición.
Programación Orientada a Objetos. ¿Qué es un ordenador? “Un sistema digital con tecnología microelectrónica capaz de procesar información a partir de.
ANALISIS DE SISTEMAS ANALISIS ORIENTADO A OBJETOS.
Introducción al Visual Basic  Un programa en sentido informático está constituido en un sentido general por variables que contienen los datos con los.
Programación lógica y funcional Unidad I Conceptos fundamentales.
CURSO PROGRAMACIÓN BÁSICA SEMANA 3 ¿Qué es un programa?
FUDAMENTOS BÀSICOS computación
Lenguaje de Programación I
Funciones del Analizador Sintáctico
Fundamentos de la Programación I
CARACTERÍSTICAS DE LOS SECTORES ECONÓMICOS DE LOS CONTINENTES
Instituto Tecnológico de Minatitlán
ACCIONES Y ESTRUCTURAS
Compiladores Introducción al Análisis Sintáctico Gramáticas de Contexto Libre, Arboles de Parseo y Derivaciones.
SC-115 Programación Básica Lección número 2. Agenda 1.Comprobación del trabajo extra-clase. 2.Conceptos fundamentales 1.Tipos de datos 2.Identificadores,
Informática Ingeniería en Electrónica y Automática Industrial
Tema 6. Conceptos básicos de programación (Clase 2)
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
TIPOS DE COMPROBACIONES QUE REALIZA UN ANALIZADOR SEMÁNTICO.
NATURALEZA DE LOS DATOS Valores Numéricos Son los valores que se pueden hacer cálculos aritméticosritméticos Tipos de valores Entero Real Cadena ( “ h”
REGRESIONINTERPOLACION Los Métodos Numéricos Métodos mas utilizados Ajuste de Curvas.
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
Clase1: lectura/escritura/asignación
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
UNIDAD 1 Análisis semántico 1.1 ARBOLES DE EXPRESIONES.
Fundamentos Algorítmicos 1
Fundamentos Algorítmicos 1
COMPILADORES Semana 1 Ing. Jorge Vigil Farfán MgTI, PMP, ITIL-Expert, Cloud, ISO 27002, CCNP, CCNA, CCNA Sec, NSE.
OPERADORES ARITMETICOS. Se usa los símbolos ya conocidos +(suma), –(resto), *(multiplicación), /(división) Ejemplo.
Transcripción de la presentación:

Criterios Evaluación Portafolio de evidencias 5 Mapa conceptual 10 Practicas 30 Examen teórico 20 Analizador Sem. 35

Análisis semántico Dota de un significado coherente a lo que hemos hecho en el análisis sintáctico. Se encarga de que los tipos que intervienen en las expresiones sean compatibles

Funciones Principales Identificar cada tipo de instrucción y sus componentes Completar la Tabla de Símbolos Realizar distintas comprobaciones y validaciones:

Objetivo Verificar la semántica de la cadena de entrada Verificar que las variables han sido declaradas previamente. Comprobación de tipos en las expresiones. Elección de la función u operador en caso de sobrecarga o polimorfismo. Emitir informes de errores semánticos Construir el Árbol de Sintaxis

Recoge toda la información sintáctica y semántica Elimina los símbolos que no aportan significado Los nodos reflejan los datos asociados a cada símbolo El objetivo de las acciones semánticas es construir un árbol de expresiones Árbol de Sintaxis Abstracta

Árbol de Expresiones Ejemplo a = b + c; ; id = + id asignación Variable Nombre: a Tipo: entero suma Tipo: entero Variable Nombre: b Tipo: entero constante Nombre: c Tipo: entero Valor: 5

Gramáticas atribuídas Cada símbolo gramatical tiene asociados un conjunto de atributos – representan información semántica Ejemplos: para una constante: valor, tipo para un identificador: string, tipo, valor actual, posición en memoria Gramática atribuida Gramática en la que cada producción tiene asociado un conjunto de reglas para los valores de los atributos Uso: – especificar y calcular atributos – generar código

AtributoReglas de la GramáticaAcciones semánticas valE  E + T | T E.val = E1.val + T.val E.val = T.val valT  T * F | F T.val = T1.val + F.val T.val = F.val valF  numF.val = Valor_número Gramáticas atribuídas Ejemplo:

También el árbol de sintaxis que construya el analizador sintáctico deberá incluir la evaluación de los atributos Gramáticas atribuídas Ejemplo: W = 3 + 4*2 T.val=8 T.val=4 id E.val=3 T.val=3 S = E.val=11 + F.val=3 3 F.val=4 F.val=2 4 2 *

Dos tipos de atributos – Atributos sintetizados: se obtienen a partir de atributos de los descendientes en el árbol pasan información “hacia arriba“ por lo tanto: fáciles de manejar para analizadores – Atributos heredados: su valor depende de atributos del padre y/o de los hermanos especialmente útiles para expresar propiedades dependientes del contexto alcance de una variable tipo de una variable fáciles de obtener en analizadores Gramáticas atribuídas

Ejemplo de atributos sintetizados: Gramáticas atribuídas W = 3 + 4*2 T.val id E.val T.val S = E.val + F.val * E  E + T | T T  T * F | F F  num

Ejemplo de atributos heredados Gramáticas atribuídas DECL  T L ; T  int |char|float L  id | L, id int i ; T DECL L int ; id T.tipo=int DECL L.tipo=int int ; Id.tipo=int i