Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

1.2. Acciones semánticas de un analizador sintáctico

No description
by

Ana Luisa Islas Avila

on 12 September 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of 1.2. Acciones semánticas de un analizador sintáctico

Por diseño cada lenguaje de programación tiene reglas precisas a las cuales obedece y prescriben la estructura sintáctica de un programa bien formado.
Analizador Sintáctico
Fase del analizador que se encarga de revisar el texto de entrada en base a una gramática dada
Analizador Semántico
Extensión del analizador sintáctico, finaliza la fase de análisis del compilador y comienza la fase de Síntesis, en la cual se comienza a generar el código objeto

Tabla de símbolos
Chequeos de tipos (y otros)
Generación de representación interna

1.2. Acciones semánticas de un analizador sintáctico
ITC- Lenguajes y Autómatas II

Equipo 5

Acciones de un analizador sintáctico
Acceder a la tabla de símbolos.
Chequeo de tipos.
Generar código intermedio.
Generar errores cuando se producen
Controla el flujo de tokens reconocidos por parte del analizador léxico.
Estrategias para recuperarse de errores sintácticos
Recuperación en modo de pánico
Recuperación a nivel de frase
Producción de errores
Corrección global
Manejo de errores sintácticos
Más complicado desde el punto de vista de la creación de compiladores.

Nos interesa que cuando el compilador encuentre un error, se recupere y siga buscando errores.
Gramática
Reglas que definen un lenguaje

Una gramática genera o describe un lenguaje, define la estructura de las frases y las palabras de un lenguaje.
La gramática proporciona una especificación sintáctica precisa, pero fácil de entender del lenguaje de programación.

Obtiene una cadena de tokens del analizador léxico, y verifica que la cadena de nombres de los tokens pueda generarse mediante la gramática para el lenguaje fuente.
Analizador Sintáctico
Gramática que acepta:
G (N, T, P, S)
N = No terminales.
T = Terminales.
P = Reglas de Producción.
S = Axioma Inicial.
Acciones Semánticas
Se encargan de que los tipos que intervienen en las expresiones sean compatibles o que los parámetros reales de una función sean coherentes con los parámetros formales.
Pueden Agruparse En:
• Sentencias de Declaración.
• Sentencias “ejecutables”.
• Funciones y procedimientos.
• Identificación de variables.
Objetivos
Indicar los errores de forma clara y precisa. Aclarar el tipo de error y su localización.
Recuperarse del error, para poder seguir examinando la entrada.
No ralentizar significativamente la compilación
Full transcript