SlideShare una empresa de Scribd logo
1 de 18
TABLA DE SIMBOLOS Ing. Diego Andrés Manios M. UNIVERSIDA ANTONIO NARIÑO
Que es una tabla de símbolos? ,[object Object],[object Object],[object Object],[object Object]
La tabla almacena la información que en cada momento se necesita sobre las variables del programa, información tal como: nombre, tipo, dirección de localización, tamaño, etc. La gestión de la tabla de símbolos es muy importante, ya que consume gran parte del tiempo de compilación. De ahí que su eficiencia sea crítica. Aunque también sirve para guardar información referente a los tipos creados por el usuario, tipos enumerados y, en general, a cualquier identificador creado por el usuario, nos vamos a centrar principalmente en las variables de usuario.
Tabla de símbolos La Tabla de Símbolos (TS) es una estructura de datos que usa un compilador para manipular los identificadores que aparecen en un código fuente. Almacena todas las características necesarias de un identificador. La estructura y organización de la TS depende de las características del Lenguaje Fuente. La TS es consultada constantemente durante la compilación por tanto es importante que su organización sea eficiente.
La TS normalmente está vigente sólo durante la compilación del programa fuente por lo que, en general, se ubica en la memoria principal. Es usada en varias fases de un compilador: Semántico » Para incluir nuevos identificadores » Para verificar si un identificador ya existe » Para verificación de tipos Generación de código » Para generar el código (direcciones de los operadores)
Algunas TS contienen también las palabras reservadas del Lenguaje, esto implica que sea creada inicialmente con todas las posibles Palabras Reservadas, para que después se incluyan los identificadores del programa. En este caso el léxico debe usar la TS para ver si una cadena es o no una palabra reservada.  Caso la TS contenga sólo identificadores, el léxico podrá mantener una Tabla de Palabras Reservadas para poder identificar si una cadena es o no palabra Reservada
La Tabla de Palabras reservada es una tabla estática que debe tener valores definidos por el mismo programa (constante). Debe estar organizada de manera a tener un acceso eficiente. La Tabla de palabras reservadas también debe incluir los nombres de las funciones intrínsecas del lenguaje
Tiene básicamente dos campos:   » Nombre   » Atributos Campo Nombre: almacena la cadena de caracteres que representa el identificador. Algunos Lenguajes permiten que los identificadores varíen su tamaño hasta 64 caracteres, otros permiten sólo hasta 31 y algunos más antiguos sólo permitían hasta 7 caracteres.   Dependiendo de diseño del Compilador éste campo puede ser de tamaño fijo o puede ser un campo de tamaño variable. Estructura TS
Campo Atributo: asociado al nombre que generalmente es compuesto y puede contener:   Tipo: indica si el identificador es variable, constante, entero, real, procedimiento, función, etc.   » Indicador: si el identificador tiene valor definido o no   » Valor: si se trata de una constante   » Ámbito del identificador: si fuera el caso   » Dimensión: (para arreglos) cuantas dimensiones y el rango para cada una
Dirección asignada al identificador, generalmente esuna posición relativa a una dirección base   Número y tipo de parámetros (si fuera procedimiento o función)
Un aspecto muy importante de la TS es su organización de manera tal que su acceso sea eficiente. Se debe especificar las operaciones válidas sobre esta estructura y cada operación deberá estar asociada generalmente a una acción semántica (un método). La operaciones más frecuentes son:   » Inclusión   » Consulta   » Modificación de algún subcampo de atributo Organización TS
La TS debe organizarse de manera eficiente teniendo en cuenta las características del lenguaje. Se puede proponer: » Campos de tamaño fijo o variable » Entradas ordenadas, tablas secuenciales indexadas » Listas ligadas » Árboles binarios » Árboles B » Dispersión » Una combinación de los métodos anteriores
Campos fijos Es usado generalmente cuando el nombre del identificador tiene un máximo de pocos caracteres
Campos Nombre Variables Se usa generalmente cuando el número de caracteres máximo para un identificador es bastante grande
Campos Variables Se usa cuando la estructura de la TS es muy variada para los diferentes tipos de entrada
Esta operación se realiza cada vez que aparece un nuevo identificador en el programa fuente. La operación se ejecuta, generalmente, cuando no existe otro identificador con el mismo nombre. Normalmente se incluye el nombre del identificador y el tipo del mismo. Si se trata de un procedimiento o función será necesario crear entradas para los parámetros formales o realizar un proceso especial para guardar la declaración del procedimiento o función. Inclusión
Toda vez que aparece la referencia a un identificador es necesario verificar si éste ya está en la TS. Dependiendo del lenguaje si el identificador no está:   » Hay que incluirlo (lenguajes sin declaración de variables)   » Hay un error (lenguajes con declaración de variables) En el análisis Semántico se consulta para realizar la verificación de tipos (entero, real, arreglos, etc).  En el generador de código se consulta para obtener la dirección asignada al identificador Consulta
Algunos de los valores del atributo se conocen con posterioridad a la declaración/aparición por primera vez de la variable. En este caso será necesario realizar una operación de modificación sobre un atributo como por ejemplo: Dirección de memoria asignada Si la variable tiene valor asignado o no. Modificación

Más contenido relacionado

La actualidad más candente

Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2perlallamas
 
Cheatsheet Visual Studio Code
Cheatsheet Visual Studio CodeCheatsheet Visual Studio Code
Cheatsheet Visual Studio CodeJose Perez
 
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosSO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosFranklin Parrales Bravo
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contextoVerónica Es'Loo
 
Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))Alex Penso Romero
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sorttephyfree
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesHumano Terricola
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosRosviannis Barreiro
 
Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Vikky Moscoso
 
Equipo 6 programacion hibrida
Equipo 6 programacion hibridaEquipo 6 programacion hibrida
Equipo 6 programacion hibridagabo
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativosadriel91
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador ADOLFOISAIASGARCIASI
 

La actualidad más candente (20)

Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
 
Cheatsheet Visual Studio Code
Cheatsheet Visual Studio CodeCheatsheet Visual Studio Code
Cheatsheet Visual Studio Code
 
Java Threads (Hilos en Java)
Java Threads (Hilos en Java)Java Threads (Hilos en Java)
Java Threads (Hilos en Java)
 
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosSO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contexto
 
Jerarquia de chomsky
Jerarquia de chomskyJerarquia de chomsky
Jerarquia de chomsky
 
Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
TALLER FLEX Y BISON
TALLER FLEX Y BISONTALLER FLEX Y BISON
TALLER FLEX Y BISON
 
Virtualización con Xen
Virtualización con XenVirtualización con Xen
Virtualización con Xen
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
 
Conceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de DatosConceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de Datos
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No Deterministicos
 
Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.
 
Equipo 6 programacion hibrida
Equipo 6 programacion hibridaEquipo 6 programacion hibrida
Equipo 6 programacion hibrida
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador
 
Codigos bloque
 Codigos bloque Codigos bloque
Codigos bloque
 

Destacado

Destacado (7)

TABLA DE SIMBOLOS
TABLA DE SIMBOLOSTABLA DE SIMBOLOS
TABLA DE SIMBOLOS
 
Tabla de símbolos
Tabla de símbolosTabla de símbolos
Tabla de símbolos
 
Incorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos CompiladoresIncorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos Compiladores
 
Administrador de Tabla de Símbolos
Administrador de Tabla de SímbolosAdministrador de Tabla de Símbolos
Administrador de Tabla de Símbolos
 
Tabla SiMbolos, victor mamani catachura, boreasH,Compiladores
Tabla SiMbolos, victor mamani catachura, boreasH,CompiladoresTabla SiMbolos, victor mamani catachura, boreasH,Compiladores
Tabla SiMbolos, victor mamani catachura, boreasH,Compiladores
 
Word excel
Word excelWord excel
Word excel
 
Análisis Semántico con Cup
Análisis Semántico con CupAnálisis Semántico con Cup
Análisis Semántico con Cup
 

Similar a Tabla De Simbolos

Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíasofiarosero5
 
Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaCataMaya2
 
Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaSantiagoZuluaga26
 
Compiladores clase02
Compiladores clase02Compiladores clase02
Compiladores clase02Infomania pro
 
Herramientas para-el-analisis-de-flujo-de-datos
Herramientas para-el-analisis-de-flujo-de-datosHerramientas para-el-analisis-de-flujo-de-datos
Herramientas para-el-analisis-de-flujo-de-datosDanitortas
 
Tabladesmbolos 101103230525-phpapp02
Tabladesmbolos 101103230525-phpapp02Tabladesmbolos 101103230525-phpapp02
Tabladesmbolos 101103230525-phpapp02Javier Alva
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas alancardona3
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas alancardona3
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructuradaramirezadi
 
Fundamentos de programación en diseño web
Fundamentos de programación en diseño webFundamentos de programación en diseño web
Fundamentos de programación en diseño webDayraNieto9807
 
Fundamentos de programación en diseño web
Fundamentos de programación en diseño webFundamentos de programación en diseño web
Fundamentos de programación en diseño webkarenJulieth04
 
Tecnologìa -Estructuras básicas
Tecnologìa  -Estructuras básicasTecnologìa  -Estructuras básicas
Tecnologìa -Estructuras básicasMarcela Perez
 
Lenguaje de programacion orientado a eventos
Lenguaje de programacion orientado a eventosLenguaje de programacion orientado a eventos
Lenguaje de programacion orientado a eventosJairo Velasquez Rivera
 

Similar a Tabla De Simbolos (20)

ARCHIVO LENGUAJE DEPROGRAMACION
ARCHIVO  LENGUAJE DEPROGRAMACIONARCHIVO  LENGUAJE DEPROGRAMACION
ARCHIVO LENGUAJE DEPROGRAMACION
 
Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnología
 
Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnología
 
Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnología
 
ARCHOIVO LENGUAJE DE PROGRAMACION
 ARCHOIVO  LENGUAJE DE PROGRAMACION  ARCHOIVO  LENGUAJE DE PROGRAMACION
ARCHOIVO LENGUAJE DE PROGRAMACION
 
ARCHIVO Lenguaje de programacion
ARCHIVO Lenguaje de programacionARCHIVO Lenguaje de programacion
ARCHIVO Lenguaje de programacion
 
Compiladores clase02
Compiladores clase02Compiladores clase02
Compiladores clase02
 
Herramientas para-el-analisis-de-flujo-de-datos
Herramientas para-el-analisis-de-flujo-de-datosHerramientas para-el-analisis-de-flujo-de-datos
Herramientas para-el-analisis-de-flujo-de-datos
 
Tabladesmbolos 101103230525-phpapp02
Tabladesmbolos 101103230525-phpapp02Tabladesmbolos 101103230525-phpapp02
Tabladesmbolos 101103230525-phpapp02
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
 
ESTRUCTURAS BÁSICAS
ESTRUCTURAS BÁSICASESTRUCTURAS BÁSICAS
ESTRUCTURAS BÁSICAS
 
Tecnologia
TecnologiaTecnologia
Tecnologia
 
Tecno
TecnoTecno
Tecno
 
Estructuras basicas
Estructuras basicasEstructuras basicas
Estructuras basicas
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructurada
 
Fundamentos de programación en diseño web
Fundamentos de programación en diseño webFundamentos de programación en diseño web
Fundamentos de programación en diseño web
 
Fundamentos de programación en diseño web
Fundamentos de programación en diseño webFundamentos de programación en diseño web
Fundamentos de programación en diseño web
 
Tecnologìa -Estructuras básicas
Tecnologìa  -Estructuras básicasTecnologìa  -Estructuras básicas
Tecnologìa -Estructuras básicas
 
Lenguaje de programacion orientado a eventos
Lenguaje de programacion orientado a eventosLenguaje de programacion orientado a eventos
Lenguaje de programacion orientado a eventos
 

Más de Decimo Sistemas

Más de Decimo Sistemas (20)

Guia 8
Guia 8Guia 8
Guia 8
 
Guia 7
Guia 7Guia 7
Guia 7
 
Montaje antena
Montaje antenaMontaje antena
Montaje antena
 
Centro de computo
Centro de computoCentro de computo
Centro de computo
 
Guia no 6
Guia no 6Guia no 6
Guia no 6
 
Ft dex-03-008 - ardco - monserrate
Ft dex-03-008 - ardco - monserrateFt dex-03-008 - ardco - monserrate
Ft dex-03-008 - ardco - monserrate
 
Guia 5
Guia 5Guia 5
Guia 5
 
Modulacion Analoga
Modulacion AnalogaModulacion Analoga
Modulacion Analoga
 
IntroduccióN
IntroduccióNIntroduccióN
IntroduccióN
 
Unidad 15
Unidad 15Unidad 15
Unidad 15
 
Guia No 4
Guia No 4Guia No 4
Guia No 4
 
Tipos De Enlace
Tipos De EnlaceTipos De Enlace
Tipos De Enlace
 
Gestion De Proyecto De Desarrollo De Software
Gestion De Proyecto De Desarrollo De SoftwareGestion De Proyecto De Desarrollo De Software
Gestion De Proyecto De Desarrollo De Software
 
Evolucion De Las Comunicaciones De Voz Y Datos
Evolucion De Las Comunicaciones De Voz Y DatosEvolucion De Las Comunicaciones De Voz Y Datos
Evolucion De Las Comunicaciones De Voz Y Datos
 
Guia 2
Guia 2Guia 2
Guia 2
 
Robotica Guia 3
Robotica Guia 3Robotica Guia 3
Robotica Guia 3
 
Robotica Guia 3
Robotica Guia 3Robotica Guia 3
Robotica Guia 3
 
Anteproyecto Elaboracion De Un Sistema De Informacion De Seguridad
Anteproyecto Elaboracion De Un Sistema De Informacion De SeguridadAnteproyecto Elaboracion De Un Sistema De Informacion De Seguridad
Anteproyecto Elaboracion De Un Sistema De Informacion De Seguridad
 
Anteproyecto De Mejoramiento En La Lecto Escritura De Los Estudiantes
Anteproyecto De Mejoramiento En La Lecto Escritura  De Los EstudiantesAnteproyecto De Mejoramiento En La Lecto Escritura  De Los Estudiantes
Anteproyecto De Mejoramiento En La Lecto Escritura De Los Estudiantes
 
Anteproyecto
AnteproyectoAnteproyecto
Anteproyecto
 

Último

Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 

Último (20)

Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 

Tabla De Simbolos

  • 1. TABLA DE SIMBOLOS Ing. Diego Andrés Manios M. UNIVERSIDA ANTONIO NARIÑO
  • 2.
  • 3. La tabla almacena la información que en cada momento se necesita sobre las variables del programa, información tal como: nombre, tipo, dirección de localización, tamaño, etc. La gestión de la tabla de símbolos es muy importante, ya que consume gran parte del tiempo de compilación. De ahí que su eficiencia sea crítica. Aunque también sirve para guardar información referente a los tipos creados por el usuario, tipos enumerados y, en general, a cualquier identificador creado por el usuario, nos vamos a centrar principalmente en las variables de usuario.
  • 4. Tabla de símbolos La Tabla de Símbolos (TS) es una estructura de datos que usa un compilador para manipular los identificadores que aparecen en un código fuente. Almacena todas las características necesarias de un identificador. La estructura y organización de la TS depende de las características del Lenguaje Fuente. La TS es consultada constantemente durante la compilación por tanto es importante que su organización sea eficiente.
  • 5. La TS normalmente está vigente sólo durante la compilación del programa fuente por lo que, en general, se ubica en la memoria principal. Es usada en varias fases de un compilador: Semántico » Para incluir nuevos identificadores » Para verificar si un identificador ya existe » Para verificación de tipos Generación de código » Para generar el código (direcciones de los operadores)
  • 6. Algunas TS contienen también las palabras reservadas del Lenguaje, esto implica que sea creada inicialmente con todas las posibles Palabras Reservadas, para que después se incluyan los identificadores del programa. En este caso el léxico debe usar la TS para ver si una cadena es o no una palabra reservada. Caso la TS contenga sólo identificadores, el léxico podrá mantener una Tabla de Palabras Reservadas para poder identificar si una cadena es o no palabra Reservada
  • 7. La Tabla de Palabras reservada es una tabla estática que debe tener valores definidos por el mismo programa (constante). Debe estar organizada de manera a tener un acceso eficiente. La Tabla de palabras reservadas también debe incluir los nombres de las funciones intrínsecas del lenguaje
  • 8. Tiene básicamente dos campos: » Nombre » Atributos Campo Nombre: almacena la cadena de caracteres que representa el identificador. Algunos Lenguajes permiten que los identificadores varíen su tamaño hasta 64 caracteres, otros permiten sólo hasta 31 y algunos más antiguos sólo permitían hasta 7 caracteres. Dependiendo de diseño del Compilador éste campo puede ser de tamaño fijo o puede ser un campo de tamaño variable. Estructura TS
  • 9. Campo Atributo: asociado al nombre que generalmente es compuesto y puede contener: Tipo: indica si el identificador es variable, constante, entero, real, procedimiento, función, etc. » Indicador: si el identificador tiene valor definido o no » Valor: si se trata de una constante » Ámbito del identificador: si fuera el caso » Dimensión: (para arreglos) cuantas dimensiones y el rango para cada una
  • 10. Dirección asignada al identificador, generalmente esuna posición relativa a una dirección base Número y tipo de parámetros (si fuera procedimiento o función)
  • 11. Un aspecto muy importante de la TS es su organización de manera tal que su acceso sea eficiente. Se debe especificar las operaciones válidas sobre esta estructura y cada operación deberá estar asociada generalmente a una acción semántica (un método). La operaciones más frecuentes son: » Inclusión » Consulta » Modificación de algún subcampo de atributo Organización TS
  • 12. La TS debe organizarse de manera eficiente teniendo en cuenta las características del lenguaje. Se puede proponer: » Campos de tamaño fijo o variable » Entradas ordenadas, tablas secuenciales indexadas » Listas ligadas » Árboles binarios » Árboles B » Dispersión » Una combinación de los métodos anteriores
  • 13. Campos fijos Es usado generalmente cuando el nombre del identificador tiene un máximo de pocos caracteres
  • 14. Campos Nombre Variables Se usa generalmente cuando el número de caracteres máximo para un identificador es bastante grande
  • 15. Campos Variables Se usa cuando la estructura de la TS es muy variada para los diferentes tipos de entrada
  • 16. Esta operación se realiza cada vez que aparece un nuevo identificador en el programa fuente. La operación se ejecuta, generalmente, cuando no existe otro identificador con el mismo nombre. Normalmente se incluye el nombre del identificador y el tipo del mismo. Si se trata de un procedimiento o función será necesario crear entradas para los parámetros formales o realizar un proceso especial para guardar la declaración del procedimiento o función. Inclusión
  • 17. Toda vez que aparece la referencia a un identificador es necesario verificar si éste ya está en la TS. Dependiendo del lenguaje si el identificador no está: » Hay que incluirlo (lenguajes sin declaración de variables) » Hay un error (lenguajes con declaración de variables) En el análisis Semántico se consulta para realizar la verificación de tipos (entero, real, arreglos, etc). En el generador de código se consulta para obtener la dirección asignada al identificador Consulta
  • 18. Algunos de los valores del atributo se conocen con posterioridad a la declaración/aparición por primera vez de la variable. En este caso será necesario realizar una operación de modificación sobre un atributo como por ejemplo: Dirección de memoria asignada Si la variable tiene valor asignado o no. Modificación