Traductor (informática) - Translator (computing)
Ejecución del programa |
---|
Conceptos generales |
Tipos de codigo |
Estrategias de compilación |
Tiempos de ejecución notables |
|
Compiladores y cadenas de herramientas notables |
|
Un traductor o procesador de lenguaje de programación es un término genérico que puede referirse a cualquier cosa que convierta código de un lenguaje de computadora a otro. Un programa escrito en un lenguaje de alto nivel se llama programa fuente. Estos incluyen traducciones entre lenguajes de computadora de alto nivel y legibles por humanos , como C ++ y Java , lenguajes de nivel intermedio como el código de bytes de Java , lenguajes de bajo nivel como el lenguaje ensamblador y el código de máquina , y entre niveles similares de lenguaje en diferentes sistemas informáticos. plataformas , así como de cualquiera de los anteriores a otro.
El término también se usa para los traductores entre implementaciones de software e implementaciones de hardware ( microchips ASIC ) del mismo programa, y de descripciones de software de un microchip a las puertas lógicas necesarias para construirlo.
Diferentes tipos de traductores
Hay 3 tipos diferentes de traductores de la siguiente manera:
Compilador
Un compilador es un traductor que se utiliza para convertir un lenguaje de programación de alto nivel en un lenguaje de programación de bajo nivel . Convierte todo el programa en una sesión e informa de los errores detectados después de la conversión. El compilador necesita tiempo para hacer su trabajo, ya que traduce el código de alto nivel al código de nivel inferior de una vez y luego lo guarda en la memoria. Un compilador depende del procesador y de la plataforma . Se ha abordado con nombres alternativos como los siguientes: compilador especial, compilador cruzado y compilador de fuente a fuente.
Interprete
El intérprete es similar a un compilador, ya que es un traductor que se utiliza para convertir un lenguaje de programación de alto nivel en un lenguaje de programación de bajo nivel . La diferencia es que convierte el programa una línea de código a la vez y reporta errores cuando los detecta, mientras también realiza la conversión. Un intérprete es más rápido que un compilador, ya que ejecuta el código inmediatamente después de leerlo. A menudo se utiliza como herramienta de depuración para el desarrollo de software, ya que puede ejecutar una sola línea de código a la vez. Un intérprete también es más portátil que un compilador, ya que es independiente del procesador , puede trabajar entre diferentes arquitecturas de hardware .
Ensamblador
Un ensamblador es un traductor utiliza para traducir el lenguaje ensamblador en lenguaje de máquina . Tiene la misma función que un compilador para el lenguaje ensamblador pero funciona como un intérprete. El lenguaje ensamblador es difícil de entender ya que es un lenguaje de programación de bajo nivel. Un ensamblador traduce un lenguaje de bajo nivel , como un lenguaje ensamblador, a un lenguaje de nivel aún más bajo, como el código máquina .
Ver también
- Traductor binario (binario a binario, típicamente código)
- Traductor de lenguaje ensamblador (código fuente a fuente de bajo nivel)
- Traductor de fuente a fuente ( código de fuente a fuente de alto nivel)
- Reescritura (fuente a fuente, normalmente código)
- Convertidor de archivos (binario a binario, normalmente datos)
- Transcodificador (binario a binario, datos)
Referencias
Otras lecturas
- Calingaert, Peter (1979) [5 de noviembre de 1978]. Escrito en la Universidad de Carolina del Norte en Chapel Hill . Horowitz, Ellis (ed.). Ensambladores, compiladores y traducción de programas . Serie de ingeniería de programas informáticos (1ª edición, 1ª ed.). Potomac, Maryland, EE. UU .: Computer Science Press, Inc. ISBN 0-914894-23-4. ISSN 0888-2088 . LCCN 78-21905 . Archivado desde el original el 20 de marzo de 2020 . Consultado el 20 de marzo de 2020 . (2 + xiv + 270 + 6 páginas)
- Pring-Mill, David (4 de marzo de 2018). "¿Por qué la IA no domina la traducción de idiomas?" . Centro de singularidad . Universidad de la Singularidad . Archivado desde el original el 29 de diciembre de 2019 . Consultado el 2 de febrero de 2020 .
- Edwards, Stephen A. (otoño de 2013). "Procesadores de idiomas" (PDF) . Universidad de Columbia . Archivado (PDF) desde el original el 24 de junio de 2019 . Consultado el 2 de febrero de 2020 .
- Tucker, Allen; Belford, Ginebra G. "Ciencias de la computación" . Encyclopædia Britannica . Archivado desde el original el 23 de julio de 2019 . Consultado el 2 de febrero de 2020 .