Traductor (informática)


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. [1] [2] Un programa escrito en lenguaje de alto nivel se llama programa fuente. Estos incluyen traducciones entre lenguajes informáticos 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 diferentesplataformas informáticas , así como de cualquiera de las anteriores a otra. [1]

El término también se usa para traductores entre implementaciones de software e implementaciones de hardware ( microchips ASIC ) del mismo programa, y ​​desde descripciones de software de un microchip hasta las puertas lógicas necesarias para construirlo. [ cita requerida ]

Un compilador es un traductor que se utiliza para convertir un lenguaje de programación de alto nivel a un lenguaje de programación de bajo nivel . Convierte todo el programa en una sola sesión e informa de los errores detectados después de la conversión. El compilador tarda en hacer su trabajo, ya que traduce el código de alto nivel al código de nivel inferior de una sola vez y luego lo guarda en la memoria. Un compilador depende del procesador y de la plataforma . Ha sido abordado por nombres alternativos como los siguientes: compilador especial, compilador cruzado y compilador de fuente a fuente. [3] [1] [4]

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 a un lenguaje de programación de bajo nivel . La diferencia es que convierte el programa una línea de código a la vez e informa errores cuando se detectan, al mismo tiempo que 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 usa como una 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 hardware arquitecturas _ [3] [1] [4]

Un ensamblador es un traductor que se utiliza para traducir lenguaje ensamblador a lenguaje 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 de máquina . [3] [1]