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

La actualidad más candente (20)

Subconsultas
SubconsultasSubconsultas
Subconsultas
 
Python para principiantes
Python para principiantesPython para principiantes
Python para principiantes
 
Programa en emu8086
Programa en emu8086Programa en emu8086
Programa en emu8086
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
Programación de Base de Datos - Unidad II: Aplicaciones con Arquitectura Clie...
 
Reporte de codigo productos medios
Reporte de codigo productos mediosReporte de codigo productos medios
Reporte de codigo productos medios
 
Comandos ddl
Comandos ddlComandos ddl
Comandos ddl
 
Introducción a las bases de datos
Introducción a las bases de datosIntroducción a las bases de datos
Introducción a las bases de datos
 
ARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICES
 
Clases segun casos de uso
Clases segun casos de usoClases segun casos de uso
Clases segun casos de uso
 
11 Funciones
11 Funciones11 Funciones
11 Funciones
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Grupos
GruposGrupos
Grupos
 
Clasificacion de los sistemas de base de datos
Clasificacion de los sistemas de base de datosClasificacion de los sistemas de base de datos
Clasificacion de los sistemas de base de datos
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Curso my sql
Curso my sqlCurso my sql
Curso my sql
 
COMPILADORES-Tabla de Simbolos
COMPILADORES-Tabla de SimbolosCOMPILADORES-Tabla de Simbolos
COMPILADORES-Tabla de Simbolos
 
Matrices
MatricesMatrices
Matrices
 

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

Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
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
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
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
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
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
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
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
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
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
 

Último (20)

Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
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
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
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
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
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
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
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.
 

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