Administracion De La Tabla De Simbolos

Páginas: 7 (1539 palabras) Publicado: 16 de mayo de 2012
|

INSTITUTO TECNOLOGICO DE CD JUAREZ. |
Programacion De Sistemas |
|
Edgar Gonzalez H. |
|
Investigacion unidad 4 |
20/04/2012 |
|

ADMINISTRACION DE LA TABLA DE SIMBOLOS

La tabla de símbolos registra información acerca de cada nombre de símbolo en un programa. Históricamente, los nombres se llamaron símbolos, más que de una tabla de nombres. En este capítulo, la palabrasímbolo significa nombre. La fase de análisis semántico crea la tabla de símbolos, puesto que no es sino hasta este análisis que se tiene la suficiente información sobre un nombre para describirlo. La generación de código usa la tabla de símbolos para extraer las directivas del ensamblador, para el tipo y para el tamaño apropiado.
Una tabla de símbolos es una estructura de datos que contiene unregistro por cada identificador. El registro incluye los campos para los atributos del identificador.
El administrador de la tabla de símbolos se encarga de manejar los accesos a la tabla de símbolos, en cada una de las etapas de compilación de un programa.

MANEJO DE ERRORES SINTACTICOS Y SU RECUPERACION

Hay dos conceptos fundamentales:

Corrección de errores: exige que el programa puedaejecutarse. Suele utilizarse en sistemas que generán .EXE directamente, pues ahorra tiempo (permite encontrar errores de ejecución a la vez que los de compilación).

Recuperación de errores: sólo trata de evitar que el número de mensajes de error sea demasiado grande y que el compilador/intérprete pueda seguir ejecutándose correctamente en instrucciones sucesivas.

Corrección ortográficaErrores ortográficos típicos:
Un carácter por otro.
Un carácter perdido.
Un carácter añadido.
Dos caracteres intercambiados.

Pueden comprobarse sólo los errores anteriores, lo que acelera el proceso.

Correcciones posibles:

Análisis sintáctico

Si se espera una palabra reservada y aparece un identificador, buscar la palabra reservada más parecida al identificador. Deshacer errores deconcatenación.
Por ejemplo, convertir ‘begina’ en ‘begin a’.

Análisis semántico

Si un identificador se utiliza en un contexto incompatible con su tipo, tratar de sustituirlo por otro de nombre parecido y tipo compatible con el contexto.
Si un identificador no ha sido referenciado o asignado, es candidato para corrección ortográfica. Sólo en compiladores de dos pasos. En la tabla desímbolos se puede añadir como valor un par de contadores de uso y asignación.
Todas las correcciones efectuadas deben ser cuidadosamente documentadas, para evitar que el programador se pierda al probar el programa. Corrección de errores sintácticos.

GENERADORES DE CODIGO PARA ANALIZADORES SINTACTICOS: YACC
1. Funcionamiento de yacc

Igual que sucedía con lex, yacc no es directamente unanalizador sino un generador de analizadores. A partir de un fichero fuente en yacc, se genera un fichero fuente en C que contiene el analizador sintáctico. Sin embargo, un analizador sintáctico de yacc no puede funcionar por sí solo, sino que necesita un analizador léxico externo para funcionar. Dicho de otra manera, el fuente en C que genera yacc contiene llamadas a una función yylex() que debe estardefinida y debe devolver el tipo de lexema encontrado. Además, es necesario incorporar también una función yyerror(), que será invocada cuando el analizador sintáctico encuentre un símbolo que no encaja en la gramática.



2. El lenguaje Yacc

3.1. Esquema general

Un programa fuente de Yacc se parece bastante a uno de lex. La diferencia principal está en la sección de reglas, queen vez de expresiones regulares contiene las reglas de la gramática:

• De estas tres secciones, sólo la segunda es obligatoria, y no debe estar vacía (nótese que en lex, las tres secciones pueden estar vacías). Esto quiere decir que el mínimo programa en yacc es:

%% regla gramatical acción en C

• La sección de declaraciones puede incluir varias cosas, tal y como ocurría en lex,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Administracion de tabla de simbolos
  • Tabla de simbolos
  • Tabla De Simbolos
  • Tabla de simbolos
  • Tablas de simbolos
  • tablas de simbolos
  • Tabla De Simbolos Electricos
  • Lenguajes Y Compiladores Tabla De Símbolos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS