O que é um compilador?

Um compilador é um tipo especial de programa de computador que traduz um arquivo de texto legível por humanos em um formulário que o computador pode entender mais facilmente. Em seu nível mais básico, um computador só pode entender duas coisas, 1 e 0. Nesse nível, um humano operará muito lentamente e encontrará as informações contidas na longa sequência de 1s e 0s incompreensíveis. Um compilador é um programa de computador que preenche essa lacuna. Os programas também eram muito simples, compostos por uma série de etapas que foram originalmente traduzidas manualmente em dados que o computador poderia entender. Essa foi uma tarefa muito demorada, então partes dessa tarefa foram automatizadas ou programadas e o primeiro compilador foi escrito. Este programa montou ou compilou as etapas necessárias para executar o programa passo a passo.

Esses compiladores simples foram usados ​​para escrever umcompilador mais sofisticado. Com a versão mais recente, mais regras podem ser adicionadas ao programa do compilador para permitir uma estrutura de linguagem mais natural para o programador humano operar. Isso facilitou a redação e permitiu que mais pessoas comecem a escrever programas. À medida que mais pessoas começaram a escrever programas, mais idéias sobre programas de redação foram oferecidas e usadas para fazer compiladores mais sofisticados. Dessa forma, os programas do compilador continuam a evoluir, melhorar e se tornar mais fácil de usar.

Os programas do compilador

também podem ser especializados. Certas estruturas de idiomas são mais adequadas para uma tarefa específica do que outras, portanto, compiladores específicos foram desenvolvidos para tarefas ou idiomas específicos. Alguns compiladores são MultiStage ou passe múltiplo . Um primeiro passe pode levar uma linguagem muito natural e aproximar -se de um idioma compreensível do computador. Um segundo ou mesmo um terceiro passe poderia tAke -o para o estágio final, o arquivo executável.

A saída intermediária em um compilador de vários estágios é geralmente chamado de pseudo-código , pois não é utilizável pelo computador. O pseudo-código é muito estruturado, como um programa de computador, não fluindo livremente e verboso como uma linguagem mais natural. A saída final é chamada de arquivo executável , pois é o que é realmente executado ou executado pelo computador. A divisão da tarefa como essa tornou mais fácil escrever compiladores mais sofisticados, pois cada sub -tarefa é diferente. Também tornou mais fácil para o computador apontar onde teve problemas para entender o que estava sendo solicitado a fazer.

Erros que limitam o compilador na compreensão de um programa são chamados de erros de sintaxe . Erros na maneira como as funções do programa são chamadas de erros lógicos . Os erros lógicos são muito mais difíceis de identificar e corretos. Os erros de sintaxe são como erros de ortografia, enquanto os erros lógicos são um pouco mais parecidos com erros gramaticais.

Programas de compiladores cruzados também foram desenvolvidos. Um compilador cruzado permite que um conjunto de arquivos de texto de instruções seja escrito para um computador projetado por um fabricante específico a ser compilado e executado para um computador diferente por um fabricante diferente. Por exemplo, um programa que foi escrito para executar em um computador Intel às vezes pode ser compilado para executar um computador desenvolvido pela Motorola. Isso frequentemente não funciona muito bem. No nível em que os programas de computador operam, o hardware do computador pode parecer muito diferente, mesmo que pareça parecido com você.

A compilação cruzada é diferente de ter um computador emular outro computador. Se um computador está emulando um computador diferente, é fingir ser o outro computador. A emulação é frequentemente mais lenta que a compilação cruzada, pois dois programas estão em execução ao mesmo tempo, o programa que está fingindo ser o outro computador e o programa que está em execução. No entanto, para a compilação cruzada para o trabalho, você precisa de ambosO texto original da linguagem natural que descreve o programa e um computador suficientemente semelhante ao computador original em que o programa pode funcionar para ser executado em um computador diferente. Isso nem sempre é possível, então ambas as técnicas estão em uso.

OUTRAS LÍNGUAS

Este artigo foi útil? Obrigado pelo feedback Obrigado pelo feedback

Como podemos ajudar? Como podemos ajudar?