1 / 9

El proceso de compilación

El proceso de compilación. Introducción. Partes del proceso de compilación. Análisis Programa fuente  Representación intermedia Síntesis Representación Intermedia  Programa objeto. Análisis del programa fuente. Análisis lexicográfico (LR – GR) Detecta palabras de los LR  lexemas

xander
Télécharger la présentation

El proceso de compilación

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. El proceso de compilación Introducción

  2. Partes del proceso de compilación • Análisis • Programa fuente  Representación intermedia • Síntesis • Representación Intermedia  Programa objeto

  3. Análisis del programa fuente • Análisis lexicográfico (LR – GR) • Detecta palabras de los LR  lexemas • Categoriza en Tokens (Categoría Léxica) • Recibe Caracteres  Entrega Tokens • Analizador Léxico  Scanner • Análisis sintáctico (LIC – GIC) • Recibe Tokens  Determina corrección de la construcción • Analizador sintáctico  Parser • Análisis semántico • Semántica estática – Semántica en Tiempo de ejecución • Todo lo que la LIC no puede verificar

  4. Lenguaje Micro de Fischer El único tipo de dato es entero. Los identificadores son declarados implícitamente. Longitud máxima de 32 caracteres. Los identificadores comienzan con una letra y están compuestos de letras y dígitos. Las constantes son secuencias de dígitos (números enteros). Hay dos tipos de sentencias: • Asignación ID := Expresión; • Expresión es infija y se construye con identificadores, constantes y los operadores + y –; los paréntesis están permitidos. • Entrada/Salida • leer (lista de IDs); • escribir (lista de Expresiones); Cada sentencia termina con un "punto y coma" (;). El cuerpo de un programa está delimitado por inicio y fin. inicio, fin, leer y escribir son palabras reservadas y deben escribirse en minúscula.

  5. Definición de los Tokens En el Programa Fuente Nombre del Token Inicio INICIO FinFIN LeerLEER EscribirESCRIBIR := ASIGNACIÓN ( PARENIZQUIERDO ) PARENDERECHO , COMA ; PUNTOYCOMA + SUMA -RESTA

  6. Gramática Léxica <token> -> uno de <identificador> <constante> <palabraReservada> <operadorAditivo> <asignación> <carácterPuntuación> <identificador> -> <letra> {<letra o dígito>} <constante> -> <dígito> {dígito>} <letra o dígito> -> uno de <letra> <dígito> <letra> -> una de a-z A-Z <dígito> -> uno de 0-9 <palabraReservada> -> una de inicio fin leer escribir <operadorAditivo> -> uno de + - <asignación> -> := <carácterPuntuación> -> uno de ( ) , ;

  7. Gramática Sintáctica <programa> -> inicio <listaSentencias> fin <listaSentencias> -> <sentencia> {<sentencia>} <sentencia> -> <identificador> := <expresión> ; | leer ( <listaIdentificadores> ) ; | escribir ( <listaExpresiones> ) ; <listaIdentificadores> -> <identificador> {, <identificador>} <listaExpresiones> -> <expresión> {, <expresión>} <expresión> -> <primaria> {<operadorAditivo> <primaria>} <primaria> -> <identificador> | <constante> | ( <expresión> )

  8. Ejercicios • De las gramáticas dadas informe: • el conjunto de noterminales, • el conjunto de terminales, • el conjunto de metasímbolos • En base a las gramáticas descriptas: • escriba un programa en Micro que sea mínimo y correcto. • escriba un programa correcto que utilice todos los elementos definidos. • Informe si := es un operador. Justifique su respuesta.

  9. Próximos temas • Analizador léxico para Micro • El AFD para implementar el scanner • El parser para Micro • El Análisis Sintáctico Descendente Recursivo (ASDR) • El Árbol de Análisis Sintáctico (AAS) • El Procedimiento de Análisis Sintáctico (PAS) • El procedimiento Match(t)

More Related