Modelos de Lenguajes de Programación Analí J. Alfaro Alfaro Ing. Informático  Escuela académico-Profesional de Informática Universidad Nacional de Trujillo
Paradigmas de los LP Podemos citar : Modelo Imperativo Describe los programas en términos de estados y cambio de estados Asignación de datos a variables. Existencia de estructuras repetitivas Basa en el uso procedimientos y funciones Modelo Funcional Fundamenta uso de funciones matemáticas. Usa recursividad No hace uso de construcciones secuenciales ni iterativas Evalúa toda la expresión, no hay asignaciones Uso de listas  Analí J. Alfaro Alfaro  Ingeniero Informático
Paradigmas de los LP Podemos citar : Modelo OO Encapsulamiento y TAD (tipos abstractos de datos) Clases y objetos Herencia , paso de mensajes y polimorfismo Modelo Lógico Basado en la lógica de predicados Uso de reglas Modelo que usa hechos (datos), reglas (formalización) y deduce conocimiento. Modelo Concurrente Centrado en la comunicación y sincronización de procesos Acceso exclusivo a datos compartidos. Analí J. Alfaro Alfaro  Ingeniero Informático
Criterios de Evaluación LP: Legibilidad Expresividad Buena Definición Tipos y estructuras de datos Modularidad Entrada /Salida Transportabilidad
Criterios de Evaluación LP: Eficiencia Generalidad Reutilización Extensibilidad Distribución Arquitectura Neutral Robustez.
Proceso de un LP : Consideraciones: Computador comprende lenguaje máquina. Programamos en lenguajes de alto nivel (facilidad y fiabilidad). Cómo puede un programa escrito en LP de alto nivel ejecutarse? Puede hacerlo de 3 formas : Proceso de Compilación Proceso de Interpretación Proceso Híbrido
1.- Proceso  de Compilación : Compilador : Programa en lenguaje máquina Transformación : programa fuente en programa ejecutable. Código Fuente Código Objeto Datos entrada Resultados Compilador o Traductor
1.- Proceso  de Compilación : Proceso de Transformación traducción :
1.- Proceso  de Compilación : La transformación muestra: Programa Fuente :  escrito en un LP de alto nivel Compilador :  encargado de la traducción y comprobar las llamadas a las librerías para que se ejecuten correctamente. Programa Objeto : Programa traducido, puede o no estar en lenguaje máquina Aún no es directamente ejecutable
1.- Proceso  de Compilación : La transformación muestra: Programa Ejecutable : Traducción completa a lenguaje máquina. Hecha por el Enlazador (Linker)o Montador. Es directamente ejecutable Enlazador (Linker) : Encargado de insertar al programa objeto el código máquina de las funciones de las librerías (archivos de biblioteca) usadas en el programa y de realizar el proceso de montaje.
1.1. Etapas en el proceso Compilación Las etapas en el proceso de Compilación son: Análisis Síntesis Análisis : Divide al programa en sus elementos componentes Crea el código o programa intermedio. Síntesis : Construye el código objeto, a partir del código intermedio.
1.1. Etapas en el proceso Compilación Código  Fuente Código  Intermedio Código  Objeto Análisis Síntesis Tabla de Símbolos
1.1.1. Análisis Analizador Léxico (Scaning): Funciones: construir una secuencia de unidades significativas sintácticas llamadas Token. Reducir el trabajo del analizador sintáctico. Entrada : cadenas de caracteres y los depura. Construcción Tokens:  Elimina espacios blancos, comentarios, etc. Reconocer token correctos mediante reconocedor de patrones (autómatas).
1.1.1. Análisis Analizador Léxico (Scaning):  Reconocimiento token : Se construyen autómatas finitos, usando tabla de símbolos Un token reconocido    lexema Tabla de símbolos, almacena todos los identificadores usados en el programa además sus tipos y la posición de memoria que ocupan. Ejemplo
1.1.1. Análisis Analizador Sintáctico (Parser) Función: Determinar si un programa es correcto sintácticamente, mediante la construcción de árboles sintácticos. Árbol sintáctico: Organiza los Tokens, usando reglas recursivas conocidas como gramáticas de libre contexto. Gramáticas de libre contexto: Definidas formalmente con BNF. Ejemplo
1.1.1. Análisis Analizador Semántico Función: Verifica que no ocurran errores semánticos Proceso de verificación, incluye: Consultar la tabla de símbolos, para encontrar información de un identificador y la información ligada a éste. Además, ayuda en : Cada identificador debe ser declarado antes de ser usado. No existan identificadores usados en contextos inapropiados.
1.1.1. Análisis Analizador Semántico Función: Verifica que no ocurran errores semánticos, usando un verificador de tipos.  Proceso de verificación, incluye: Consultar la tabla de símbolos, para encontrar información de un identificador y la información ligada a éste. Verificador de tipos: Conversión de tipos Resuelve por ejemplo sobrecarga de operadores No exista declaración repetida de identificadores
1.1.1. Análisis Analizador Semántico Además, ayuda a verificar : Cada identificador debe ser declarado antes de ser usado. No existan identificadores usados en contextos inapropiados. Concuerden el orden, cantidad y los tipos de parámetros usados. Generación de código intermedio: Representación intermedia independiente de la máquina
1.1.1. Síntesis Optimización del código intermedio: Función: Mejorar el código intermedio para producir código objeto más eficiente. Generación del código Objeto: Finalmente se transforma el código intermedio mejorado en código objeto. Código objeto, puede estar en: Lenguaje máquina Lenguaje ensamblador Lenguaje de alto nivel

Más contenido relacionado

PDF
6 Curso de POO en Java - clases y objetos
PPT
Unidad 5 TransformacióN Er A Relacional NormalizacióN
PPTX
Caso de uso e historia de usuario
PPSX
Ieee 830
PPTX
Unidad 2 expresiones regulares
PPTX
Analisis Y DiseñO Orientado A Objetos
PPTX
Normalizacion de bases de datos
PPTX
Tipos de gramatica y arboles de derivacion
6 Curso de POO en Java - clases y objetos
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Caso de uso e historia de usuario
Ieee 830
Unidad 2 expresiones regulares
Analisis Y DiseñO Orientado A Objetos
Normalizacion de bases de datos
Tipos de gramatica y arboles de derivacion

La actualidad más candente (20)

PPTX
Librerias de C++
DOCX
Etapas del Proceso de la Ingeniería del Software
PPT
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
PPTX
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
PPTX
Manejo de los procesos en los sistemas operativos
PPT
Expresiones regulares y gramaticas
PPTX
PAGINACION Y SEGMENTACION DE MEMORIA
PPTX
MODELO DE PROCESOS DEL SOFTWARE
PPT
Primeros artefactos de análisis. casos de uso
DOCX
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
DOCX
Cuadro comparativo de lenguajes de programación
PPTX
Gramática Libre de Contexto
PDF
Modelo espiral win win
PPTX
Organización y estructura interna del cpu
PPTX
Diseño Estructurado
PPTX
Registros de control y estados de la CPU
PPTX
Modelo incremental
PPTX
Unidad 4 Interoperabilidad entre sistemas operativos
PPTX
macros Lenguaje ensamblador
Librerias de C++
Etapas del Proceso de la Ingeniería del Software
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Manejo de los procesos en los sistemas operativos
Expresiones regulares y gramaticas
PAGINACION Y SEGMENTACION DE MEMORIA
MODELO DE PROCESOS DEL SOFTWARE
Primeros artefactos de análisis. casos de uso
13 tipos de diagramas uml, la metodología de desarrollo ágil de software y la...
Cuadro comparativo de lenguajes de programación
Gramática Libre de Contexto
Modelo espiral win win
Organización y estructura interna del cpu
Diseño Estructurado
Registros de control y estados de la CPU
Modelo incremental
Unidad 4 Interoperabilidad entre sistemas operativos
macros Lenguaje ensamblador
Publicidad

Similar a Proceso de Compilacion (20)

PPT
Compiladores
PPTX
Compiladores conceptos
PDF
investigacion 4.4 y 4.5.pdf
PPTX
Grupo 1 proceso de lenguajes i
PPSX
Compiladores
PPT
Compiladores Ex..ppt
PPT
Compilador
PPT
Introducción a Compiladores
PPT
Cap4 compiladores
DOCX
Compiladores (1) pedro vasques
PPT
Fpr Tema 1 www.fresymetal.com
PPT
Introduccion
PDF
Algoritmos y programas super manual de algoritmia
PPTX
Cap3
PDF
Algoritmos y programas 1
PPT
Estructura de un compilador 2
PPT
Fundamentos de Programación
PDF
TALLER ANÁLISIS SINTÁCTICO
PDF
Manual de Compiladores Léxico y Sintáctico.pdf
PDF
Unidad1 2 Lenguajes y automatas
Compiladores
Compiladores conceptos
investigacion 4.4 y 4.5.pdf
Grupo 1 proceso de lenguajes i
Compiladores
Compiladores Ex..ppt
Compilador
Introducción a Compiladores
Cap4 compiladores
Compiladores (1) pedro vasques
Fpr Tema 1 www.fresymetal.com
Introduccion
Algoritmos y programas super manual de algoritmia
Cap3
Algoritmos y programas 1
Estructura de un compilador 2
Fundamentos de Programación
TALLER ANÁLISIS SINTÁCTICO
Manual de Compiladores Léxico y Sintáctico.pdf
Unidad1 2 Lenguajes y automatas
Publicidad

Último (20)

PDF
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
PDF
Inteligencia_Artificial,_Informática_Básica,_22_06_2025_SO_2.pdf
PPTX
Usuarios en la arquitectura de la información
DOCX
Guía 5. Test de orientación Vocacional 2 NICOL.docx
DOCX
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
DOCX
Informee_APA_Microbittrabajoogrupal.docx
PDF
Guía_de_implementación_Marco_de_gobierno_y_gestión_de_TI_Universidades.pdf
PPTX
Circuito de LED en paralelo mediante Switch
PPTX
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
DOCX
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
PPTX
Procesamiento-del-Lenguaje-Natural-Un-Viaje-Paso-a-Paso.pptx
DOCX
tablas tecnologia maryuri vega 1....docx
DOCX
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
PPTX
Sistema de Gestión Integral TCA Ingenieros.pptx
PPTX
TECNOLOGIAS DE INFORMACION Y COMUNICACION
PPTX
CLASE PRACTICA-- SESION 6 -- FPW -- 04 11 23.pptx
PDF
Distribucion de frecuencia exel (1).pdf
PPTX
PRESENTACION El PODER DE LA MENTALIDAD.pptx
PPTX
Formato de texto, párrafo, documentos, columnas periodísticas, referencias.
PDF
NREN - red nacional de investigacion y educacion en LATAM y Europa: Caracteri...
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
Inteligencia_Artificial,_Informática_Básica,_22_06_2025_SO_2.pdf
Usuarios en la arquitectura de la información
Guía 5. Test de orientación Vocacional 2 NICOL.docx
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
Informee_APA_Microbittrabajoogrupal.docx
Guía_de_implementación_Marco_de_gobierno_y_gestión_de_TI_Universidades.pdf
Circuito de LED en paralelo mediante Switch
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
Procesamiento-del-Lenguaje-Natural-Un-Viaje-Paso-a-Paso.pptx
tablas tecnologia maryuri vega 1....docx
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
Sistema de Gestión Integral TCA Ingenieros.pptx
TECNOLOGIAS DE INFORMACION Y COMUNICACION
CLASE PRACTICA-- SESION 6 -- FPW -- 04 11 23.pptx
Distribucion de frecuencia exel (1).pdf
PRESENTACION El PODER DE LA MENTALIDAD.pptx
Formato de texto, párrafo, documentos, columnas periodísticas, referencias.
NREN - red nacional de investigacion y educacion en LATAM y Europa: Caracteri...

Proceso de Compilacion

  • 1. Modelos de Lenguajes de Programación Analí J. Alfaro Alfaro Ing. Informático Escuela académico-Profesional de Informática Universidad Nacional de Trujillo
  • 2. Paradigmas de los LP Podemos citar : Modelo Imperativo Describe los programas en términos de estados y cambio de estados Asignación de datos a variables. Existencia de estructuras repetitivas Basa en el uso procedimientos y funciones Modelo Funcional Fundamenta uso de funciones matemáticas. Usa recursividad No hace uso de construcciones secuenciales ni iterativas Evalúa toda la expresión, no hay asignaciones Uso de listas Analí J. Alfaro Alfaro Ingeniero Informático
  • 3. Paradigmas de los LP Podemos citar : Modelo OO Encapsulamiento y TAD (tipos abstractos de datos) Clases y objetos Herencia , paso de mensajes y polimorfismo Modelo Lógico Basado en la lógica de predicados Uso de reglas Modelo que usa hechos (datos), reglas (formalización) y deduce conocimiento. Modelo Concurrente Centrado en la comunicación y sincronización de procesos Acceso exclusivo a datos compartidos. Analí J. Alfaro Alfaro Ingeniero Informático
  • 4. Criterios de Evaluación LP: Legibilidad Expresividad Buena Definición Tipos y estructuras de datos Modularidad Entrada /Salida Transportabilidad
  • 5. Criterios de Evaluación LP: Eficiencia Generalidad Reutilización Extensibilidad Distribución Arquitectura Neutral Robustez.
  • 6. Proceso de un LP : Consideraciones: Computador comprende lenguaje máquina. Programamos en lenguajes de alto nivel (facilidad y fiabilidad). Cómo puede un programa escrito en LP de alto nivel ejecutarse? Puede hacerlo de 3 formas : Proceso de Compilación Proceso de Interpretación Proceso Híbrido
  • 7. 1.- Proceso de Compilación : Compilador : Programa en lenguaje máquina Transformación : programa fuente en programa ejecutable. Código Fuente Código Objeto Datos entrada Resultados Compilador o Traductor
  • 8. 1.- Proceso de Compilación : Proceso de Transformación traducción :
  • 9. 1.- Proceso de Compilación : La transformación muestra: Programa Fuente : escrito en un LP de alto nivel Compilador : encargado de la traducción y comprobar las llamadas a las librerías para que se ejecuten correctamente. Programa Objeto : Programa traducido, puede o no estar en lenguaje máquina Aún no es directamente ejecutable
  • 10. 1.- Proceso de Compilación : La transformación muestra: Programa Ejecutable : Traducción completa a lenguaje máquina. Hecha por el Enlazador (Linker)o Montador. Es directamente ejecutable Enlazador (Linker) : Encargado de insertar al programa objeto el código máquina de las funciones de las librerías (archivos de biblioteca) usadas en el programa y de realizar el proceso de montaje.
  • 11. 1.1. Etapas en el proceso Compilación Las etapas en el proceso de Compilación son: Análisis Síntesis Análisis : Divide al programa en sus elementos componentes Crea el código o programa intermedio. Síntesis : Construye el código objeto, a partir del código intermedio.
  • 12. 1.1. Etapas en el proceso Compilación Código Fuente Código Intermedio Código Objeto Análisis Síntesis Tabla de Símbolos
  • 13. 1.1.1. Análisis Analizador Léxico (Scaning): Funciones: construir una secuencia de unidades significativas sintácticas llamadas Token. Reducir el trabajo del analizador sintáctico. Entrada : cadenas de caracteres y los depura. Construcción Tokens: Elimina espacios blancos, comentarios, etc. Reconocer token correctos mediante reconocedor de patrones (autómatas).
  • 14. 1.1.1. Análisis Analizador Léxico (Scaning): Reconocimiento token : Se construyen autómatas finitos, usando tabla de símbolos Un token reconocido  lexema Tabla de símbolos, almacena todos los identificadores usados en el programa además sus tipos y la posición de memoria que ocupan. Ejemplo
  • 15. 1.1.1. Análisis Analizador Sintáctico (Parser) Función: Determinar si un programa es correcto sintácticamente, mediante la construcción de árboles sintácticos. Árbol sintáctico: Organiza los Tokens, usando reglas recursivas conocidas como gramáticas de libre contexto. Gramáticas de libre contexto: Definidas formalmente con BNF. Ejemplo
  • 16. 1.1.1. Análisis Analizador Semántico Función: Verifica que no ocurran errores semánticos Proceso de verificación, incluye: Consultar la tabla de símbolos, para encontrar información de un identificador y la información ligada a éste. Además, ayuda en : Cada identificador debe ser declarado antes de ser usado. No existan identificadores usados en contextos inapropiados.
  • 17. 1.1.1. Análisis Analizador Semántico Función: Verifica que no ocurran errores semánticos, usando un verificador de tipos. Proceso de verificación, incluye: Consultar la tabla de símbolos, para encontrar información de un identificador y la información ligada a éste. Verificador de tipos: Conversión de tipos Resuelve por ejemplo sobrecarga de operadores No exista declaración repetida de identificadores
  • 18. 1.1.1. Análisis Analizador Semántico Además, ayuda a verificar : Cada identificador debe ser declarado antes de ser usado. No existan identificadores usados en contextos inapropiados. Concuerden el orden, cantidad y los tipos de parámetros usados. Generación de código intermedio: Representación intermedia independiente de la máquina
  • 19. 1.1.1. Síntesis Optimización del código intermedio: Función: Mejorar el código intermedio para producir código objeto más eficiente. Generación del código Objeto: Finalmente se transforma el código intermedio mejorado en código objeto. Código objeto, puede estar en: Lenguaje máquina Lenguaje ensamblador Lenguaje de alto nivel