Tradutor (computação) - Translator (computing)
Execução do programa |
---|
Conceitos gerais |
Tipos de código |
Estratégias de compilação |
Tempos de execução notáveis |
|
Compiladores e conjuntos de ferramentas notáveis |
|
Um tradutor ou processador de linguagem de programação é um termo genérico que pode se referir a qualquer coisa que converta código de uma linguagem de computador em outra. Um programa escrito em linguagem de alto nível é chamado de programa-fonte. Isso inclui traduções entre linguagens de computador de alto nível e legíveis por humanos , como C ++ e Java , linguagens de nível intermediário, como bytecode Java , linguagens de baixo nível , como a linguagem assembly e código de máquina , e entre níveis semelhantes de linguagem em diferentes computadores plataformas , bem como de qualquer uma das anteriores para outra.
O termo também é usado para tradutores entre implementações de software e implementações de hardware ( microchips ASICs ) do mesmo programa, e de descrições de software de um microchip às portas lógicas necessárias para construí-lo.
Diferentes tipos de tradutores
Existem 3 tipos diferentes de tradutores, como segue:
Compilador
Um compilador é um tradutor usado para converter linguagem de programação de alto nível em linguagem de programação de baixo nível . Ele converte todo o programa em uma sessão e relata os erros detectados após a conversão. O compilador leva tempo para fazer seu trabalho, pois traduz o código de alto nível para o código de nível inferior de uma só vez e o salva na memória. Um compilador é dependente do processador e da plataforma . Ele foi tratado por nomes alternativos como os seguintes: compilador especial, compilador cruzado e compilador de origem a origem.
Intérprete
O interpretador é semelhante a um compilador, pois é um tradutor usado para converter a linguagem de programação de alto nível em linguagem de programação de baixo nível . A diferença é que ele converte o programa uma linha de código por vez e relata os erros quando detectados, enquanto também faz a conversão. Um interpretador é mais rápido do que um compilador, pois executa o código imediatamente ao ler o código. Geralmente é usado como uma ferramenta de depuração para desenvolvimento de software , pois pode executar uma única linha de código por vez. Um interpretador também é mais portátil do que um compilador, pois é independente do processador , você pode trabalhar entre diferentes arquiteturas de hardware .
Montador
Um assembler é um tradutor usado para traduzir a linguagem assembly em linguagem de máquina . Ele tem a mesma função de um compilador para a linguagem assembly, mas funciona como um interpretador. A linguagem assembly é difícil de entender, pois é uma linguagem de programação de baixo nível. Um montador traduz uma linguagem de baixo nível , como uma linguagem de montagem, para uma linguagem de nível ainda mais baixo, como o código de máquina .
Veja também
- Tradutor binário (binário para binário, normalmente código)
- Tradutor de linguagem assembly (código-fonte de baixo nível)
- Tradutor de código-fonte ( código-fonte de alto nível)
- Reescritor (código-fonte, normalmente código)
- Conversor de arquivos (binário para binário, normalmente dados)
- Transcodificador (binário para binário, dados)
Referências
Leitura adicional
- Calingaert, Peter (1979) [1978-11-05]. Escrito na University of North Carolina em Chapel Hill . Horowitz, Ellis (ed.). Montadores, compiladores e tradução de programas . Série de engenharia de software de computador (1ª impressão, 1ª ed.). Potomac, Maryland, EUA: Computer Science Press, Inc. ISBN 0-914894-23-4. ISSN 0888-2088 . LCCN 78-21905 . Arquivado do original em 2020-03-20 . Recuperado em 2020-03-20 . (2 + xiv + 270 + 6 páginas)
- Pring-Mill, David (04/03/2018). "Por que a IA não domina a tradução de idiomas?" . Singularity Hub . Singularity University . Arquivado do original em 29/12/2019 . Obtido em 2020-02-02 .
- Edwards, Stephen A. (outono de 2013). "Processadores de linguagem" (PDF) . Columbia University . Arquivado (PDF) do original em 24/06/2019 . Obtido em 2020-02-02 .
- Tucker, Allen; Belford, Geneva G. "Ciência da computação" . Encyclopædia Britannica . Arquivado do original em 23/07/2019 . Obtido em 2020-02-02 .