Diferença entre Assembler e Interpreter

Anonim

Assembler vs Interpreter

Em geral, o compilador é um programa de computador que lê um programa escrito em um idioma, que é chamado chamou o idioma de origem e o traduz para outro idioma, que é chamado de idioma de destino. Tradicionalmente, o idioma de origem é uma linguagem de alto nível, como C ++ e idioma de destino, é um idioma de baixo nível, como o idioma da Assembléia. No entanto, existem compiladores que podem converter um programa de origem escrito no idioma da montagem e convertê-lo em código de máquina ou código de objeto. Os montadores são essas ferramentas. Por outro lado, os intérpretes são ferramentas que executam instruções escritas em alguma linguagem de programação. O intérprete pode executar diretamente o código-fonte de alto nível ou traduzi-los para um código intermediário e depois interpretá-lo ou executar o código pré-compilado.

O que é um Assembler?

Assembler é um software ou uma ferramenta que traduz o idioma da montagem para o código da máquina. Então, um montador é um tipo de compilador e o código-fonte está escrito no idioma da Assembléia. A montagem é um idioma legível para humanos, mas geralmente possui uma relação de um a um com o código da máquina correspondente. Portanto, um assembler é dito para executar a tradução isomórfica (um para um mapeamento). As montadoras avançadas fornecem recursos adicionais que suportam processos de desenvolvimento e depuração de programas. Por exemplo, o tipo de montadoras chamadas de montagem de macro fornece uma instalação de macro.

O que é um intérprete?

Um intérprete é um programa de computador ou uma ferramenta que executa instruções de programação. Um intérprete pode executar o código-fonte diretamente ou converter a fonte em um código intermediário e executá-lo diretamente ou executar o código précompilado produzido por um compilador (alguns sistemas de interpretação incluem um compilador para esta tarefa). Idiomas como Perl, Python, MATLAB e Ruby são exemplos de linguagens de programação que usam um código intermediário. UCSD Pascal interpreta um código précompilado. Idiomas como Java, BASIC e Samlltalk primeiro compilar a fonte para um código intermediário chamado bytecode e depois interpretá-lo.

Qual a diferença entre um Assembler e um Intérprete?

Um montador pode ser considerado um tipo especial de compilador, que apenas traduz o idioma da montagem para o código da máquina. Os intérpretes são ferramentas que executam instruções escritas em algum idioma. Os sistemas de intérprete podem incluir um compilador para o código de pré-compilação antes da interpretação, mas um intérprete não pode ser chamado de um tipo especial de compilador. Os montadores produzem um código de objeto, que pode ter que ser vinculado usando programas de vinculação para serem executados em uma máquina, mas a maioria dos intérpretes pode completar a execução de um programa por si só.Um montador geralmente faz uma tradução para uma, mas isso não é verdade para a maioria dos intérpretes. Como a linguagem Assembly tem um mapeamento um a um com o código da máquina, um montador pode ser usado para produzir código que funciona de forma muito eficiente para ocasiões em que o desempenho é muito importante (por exemplo, motores gráficos, sistemas embutidos com recursos de hardware limitados em comparação com um computador pessoal como microondas, máquinas de lavar roupa, etc.). Por outro lado, os intérpretes são usados ​​quando você precisa de alta portabilidade. Por exemplo, o mesmo bytecode Java pode ser executado em diferentes plataformas usando o interpretador apropriado (JVM).