Estructura de un traductor Lenguajes y automatas.pptx
1,725 views
11 slides
Feb 26, 2024
Slide 1 of 11
1
2
3
4
5
6
7
8
9
10
11
About This Presentation
Estructura de un traductor
Size: 1.04 MB
Language: es
Added: Feb 26, 2024
Slides: 11 pages
Slide Content
Estructura de un traductor Lenguajes y autómatas i Estudiante: x Docente: z 13 De febrero de 2024
¿Qué es un traductor? Programa que transforma un lenguaje fuente en un lenguaje objetivo. (Gómez, 2014)
Lenguajes formales: Lenguajes con una definición matemática precisa, como expresiones regulares o gramáticas. Lenguajes de programación: Lenguajes utilizados para escribir programas de computadora, como C++ o Java. Lenguajes naturales: Lenguajes hablados por los humanos, como el español o el inglés. (Gómez, 2014) Pueden ser:
Compiladores Traducen código fuente de alto nivel a código máquina. Se dividen en fases como análisis léxico, análisis sintáctico, análisis semántico, generación de código intermedio, optimización, generación de código máquina y enlace. (Méndez, 2009)
Intérpretes Traducen código fuente de alto nivel a código máquina línea por línea. No generan un código máquina final, sino que interpretan el código fuente en tiempo de ejecución. Son más lentos que los compiladores, pero son más flexibles y permiten la depuración más fácil. (Gómez, 2014)
Transpiladores Traducen código fuente de un lenguaje a otro lenguaje de alto nivel. No se basan en la arquitectura de la máquina. Se utilizan para convertir código entre lenguajes con diferentes paradigmas de programación. (Méndez, 2009)
Ensambladores Traducen código ensamblador a código máquina. El código ensamblador es un lenguaje de bajo nivel que utiliza mnemónicos para representar las instrucciones de la máquina. Los ensambladores son más eficientes que los compiladores para generar código máquina, pero el código ensamblador es menos legible para los humanos.
Preprocesadores Procesan el código fuente antes de que sea compilado o interpretado. Se utilizan para realizar tareas como la inclusión de archivos, la definición de macros y la expansión de condicionales. (Rolando, 2022)
Estructura Analizador léxico: Divide el código fuente en unidades léxicas básicas (tokens). Analizador sintáctico: Verifica la estructura del código fuente y construye un árbol de sintaxis. Analizador semántico: Comprueba la corrección semántica del código fuente y asigna tipos a las variables y expresiones. Generador de código: Genera el código final en el lenguaje objetivo.
Ejemplos de traductores: GCC: Compilador para C, C++ y otros lenguajes. Clang: Compilador para C, C++ y Objective-C. Javac: Compilador para Java. Go compiler: Compilador para Go. Python interpreter: Intérprete para Python. Ruby interpreter: Intérprete para Ruby. (Rolando, 2022)
Referencias Fuentes De Información • Gomez , J. (2014). wixsite . Recuperado el 16 de Febrero de 2024, de https://leo-yac.wixsite.com/lenguajes-formales/estructura-de-un-traductor#:~:text=Un%20traductor%20es%20un%20mediador,de%20salida%20(c%C3%B3digo%20objeto). • Mendez , L. (2009). blogspot . Recuperado el 16 de Febrero de 2024, de https://ing-radjchv-pmz-estl.blogspot.com/2009/09/14-traductor-y-su-estructura.html • Rolando, M. (2022). slideplayer . Recuperado el 15 de Febrero de 2024, de https://slideplayer.es/slide/3955883/