TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Os Compiladores Na Informática

Por:   •  22/3/2020  •  Monografia  •  1.661 Palavras (7 Páginas)  •  165 Visualizações

Página 1 de 7

Compiladores

[Digite o subtítulo do documento]

    Compiladores são um conjunto de programas de computador utilizados para traduzir programas descritos em uma linguagem. Ele é capaz de criar um programa semanticamente equivalente, porém apresentado em outra linguagem.

Karyne Oliveira Andrade

Isabella Ferreira de Oliveira dos Santos

[pic 1][pic 2][pic 3]


Introdução

A evolução das linguagens de programação e das arquiteturas computacionais servem a cada dia mais como fontes e evolução e melhoramento da tecnologia dos computadores. Os compiladores são peças chave neste processo, o que faz delesum recurso popular entre programadores e empresas envolvidas com desenvolvimento e criação de novos equipamentos tecnológicos.

O uso desta ferramenta envolve várias áreas de estudo das ciências computacionais como, por exemplo, conceitos relacionados a linguagens de programação e também a área de engenharia de softwares.

Neste trabalho, serão apresentados, de forma profunda e detalhada, aspectos relacionados as funções, origem e a história dos compiladores.

[pic 4]

Origem

Antigamente, a programação era feita através de linguagens de máquina. A assembly foi extremamente usada nestes tempos. Os primeiros compiladores eram escritos em código binário e salvos na memória ROM.

Este tipo de programação gerava programas rápidos no quesito execução, porém complexos com relação ao desenvolvimento.

Após os surgimentos de linguagens de mais alto nível, logo nos anos cinquenta, foram surgindo os primeiros compiladores. Os primeiro trabalhos realizados com o uso dos compiladores foram meras traduções de fórmulas aritméticas feitas em linguagens de máquina, pois a construção de compiladores era considerada como uma tarefa muito difícil e trabalhosa.

[pic 5]

O primeiro compilador escrito foi o da equipe de desenvolvimento da FORTRAN, na IBM, liderada por JhonBakcus. Com ele, era possível a declaração de identificadores com até seis caracteres. 

[pic 6]

A partir de então, várias técnicas sistemáticas para a construção de compiladores foram desenvolvidas, como o reconhecimento de cadeias, gramáticas e geração de linguagens. Isso possibilitou a origem de exelentes linguagens, sendo elas até mesmo visuais, e um excelente ambiente de programação.

Posteriormente, programas que tinham como missão o desenvolvimento automático de novos compiladores foram criados, possibilitando a existência deles em maior quantidade e com mais facilidade.

São exemplos desses programas o LEX e o FLEX. O primeiro, gera analisadores léxicos UNIX e o segundo, LINUX e Windows.

Atualmente, é extremamente comum um estudante graduado dar origem ao seu próprio compilador embora a construção deles ainda seja algo trabalhoso e complexo. Isso fez com que a criação de compiladores se tornasse um área de extrema notoriedade e importância.

Foram gerados inúmeros compiladores após isso, como o Pascal, com tipos de compilação escolhidos pelo usuário, o Algol, que foi a primeira definição formal de linguagem segundo Bakcus, o C++, orientado a objetos com algumas exceções, o Java, que possuía compilação instantânea e muitos outros.

[pic 7][pic 8]

[pic 9]


Definição

Basicamente, um compilador pode ser definido como um complexo software que ajuda programas que a partir do momento que foram escritos em determinada linguagem, necessitam de uma compilação, ou seja, uma interpretação para que possam ser executados. O programa compilado é redirecionado de sua linguagem original, para uma que possa ser entendida e executada por um computador. Quando compilado, o programa gera outro código que será interpretado pelo computador.

O código compilado recebe o nome de código objeto, que pode ser um arquivo executável escrito em um sistema operacional por exemplo.

Geralmente, um compilador não produz absolutamente o código de máquina mas sim um programa em linguagem simbólica relativamente próximo ao programa escrito em linguagem de alto nível. O programa compilado é então traduzido para o programa em linguagem de máquina através de montadores.

Em relação a gramática desse programas que são compilados, as regras de formação de elementos e frases são expressas na gramática da linguagem.  Reconhecimento de sentenças é o nome dado ao processo no qual é feito o reconhecimento dos comandos de uma gramática.

Para que as tarefas de um compilador possam obter um bom desempenho, é preciso que ocorra dois processos de atividade dentro dele. A primeira delas, separada em léxica, sintática e semântica, é a análise. Uma tarefa na qual são reconhecidos o significado e a estrutura do programa.A segunda, é onde é feita a síntese em si do programa em questão através de uma linguagem simbólica. Ambas atividades ocorrem de formas semelhantes.

A análise léxica, também conhecida como leitura ou scanning, é a fase onde é feito o agrupamento dos caracteres em palavras. Os elementos reconhecidos nesta etapa são os chamados itens léxicos.

Durante esta etapa, o analisador léxico percorre todos os caracteres do programa fonte e verifica se eles pertencem ao alfabeto da linguagem. Caso um caractere não pertença a este alfabeto, um erro léxico será gerado e declarado.

Mesmo após a detecção e declaração de um erro, o processo de compilação não para.Pelo contrário, ele recupera o erro e continua, pois a sintaxe da maior parte das linguagens de programação, pelo fato de serem especificadas por gramáticas livres de contexto, permitem que subtituições sejam feitas. Isso também faz com que a estrutura do programa seja validada.

Nela os comentários e espaços em branco são ignorados e removidos. Esse processo resulta um conjunto de itens léxicos, formados por palavras reservadas, identificadores, delimitadores, etc. Nessa etapa efetua- se também a criação da tabela de símbolos.

A análise léxica realiza uma espécie de quebra do texto do programa fonte em lexemas, e logo após esse processo, ele verifica a categoria ao qual eles pertencem e então produz uma sequência de símbolos léxicos chamados como tokens.

Nessa fase também ocorre o processamento de uma linguagem que pode ser feito por gramáticas regulares,o que torna possível a possibilidade de ele ser escrito por expressões regulares. As rotinas que processam essa linguagem modelam algoritmos construídos a partir de autômatos finitos.

...

Baixar como (para membros premium)  txt (11.7 Kb)   pdf (281.7 Kb)   docx (194.7 Kb)  
Continuar por mais 6 páginas »
Disponível apenas no TrabalhosGratuitos.com