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

Fundamentos De C.

Artigos Científicos: Fundamentos De C.. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  22/10/2013  •  1.355 Palavras (6 Páginas)  •  224 Visualizações

Página 1 de 6

5

São programas que lêem o código fonte e o traduzem ou convertem a outra linguagem. Estes programas lhe mostram os erros existentes no código fonte.

Etapas do processo de compilação:

1. Edição. Esta fase consiste em escrever o programa empregando alguma linguagem e um editor. Como resultado nos dará o código fonte de nosso programa.

2. Compilação. Nesta fase se traduz o código fonte obtido na fase anterior a código máquina. Se não se produz nenhum erro se obtém o código objeto.

No caso de erros o compilador os mostraria para nos ajudar a corrigi-los e se procederia a sua compilação de novo, uma vez corrigidos.

3. Linkado. Esta fase consiste em unir o arquivo gerado na fase dois com determinadas rotinas internas da linguagem, obtendo o programa executável.

Existem dois tipos de linkados:

o Linkado estático: Os binários das bibliotecas se acrescentam aos nossos binários compilados gerando o arquivo executável.

o Linkado dinâmico: não se acrescentam as bibliotecas ao nosso binário e sim que fará que se carreguem na memória as bibliotecas que nesse momento se necessitem.

Uma vez traduzido, compilado e linkado o arquivo está pronto para sua execução onde também poderão surgir problemas e falhas, para os quais teríamos que voltar a realizar todo o processo anteriormente citado, de modo que possam ser corrigidos.

Por este motivo é importante realizar numerosas provas em tempo de execução antes de apresentar o programa ao cliente.

Outro sistema para a execução de nosso código fonte é mediante o uso de intérpretes (estes não se encontrariam dentro dos tradutores).

4

Estrutura de um tradutor: Análise

Em geral, os tradutores de linguagens de programação são programas bastantes complexos. Independentemente da linguagem a ser traduzida ou do programa objeto a ser gerado, os tradutores, de um modo geral compõe-se de funções padronizadas, que compreendem a analise de um programa fonte e a posterior sintese para a derivação do código objeto.

O processo de tradução é estruturado em fases, no qual cada subfase se comunica com a seguinte através de uma linguagem intermediária adequada. Suas fases são: Analise e Síntese.

A fase referente a Análise é subdividida em Análise Léxica, Análise Sintática e Análise Semântica.

O objetivo principal da Análise Léxica é identificar sequências de caracteres que constituem unidades léxicas (“tokens”). O analisador léxico lê, caractere a caractere, o texto fonte, verificando se os caracteres lidos pertencem ao alfabeto da linguagem, identificando tokens, e desprezando comentários e brancos desnecessários. Além de reconhecer os símbolos léxicos, o analisador também realiza outras funções, como armazenar alguns desses símbolos em tabelas internas e indicar a ocorrência de erros léxicos.

A sequencia de tokens produzida pelo analisador léxico é utilizada como entrada pelo módulo seguinte do compilador, o analisador sintático. É interessante observar que o mesmo programa fonte é visto pelos analisadores léxico e sintático como sentenças diferentes. Para o analisador léxico o programa fonte é uma sequencia de palavras de uma linguagem regular. Para o analisador sintático, essa sequencia de tokens constitui uma sentença de linguagem livre de contexto (permite expressar construções mais sofisticadas).

Os simbolos léxicos (tokens) constituem uma linguagem regular, que são as mais simples. No contexto de tradução de linguagem de programação, as linguagens são usualmente apresentadas através de gramaticas ou algoritmos (automatos) que as reconhecem.

A fase da Análise Sintática tem por função verificar se a estrutura gramatical do programa está correta (isto é, se essa estrutura foi formada usando as regras gramaticais da linguagem). A Analise Semântica irá verificar se as estruturas do programa irão fazer sentido durante a execução.

O Analisador Sintático identifica seqüências de símbolos que constituem estruturas sintáticas (cadeia de tokens) do programa fonte. Outra função dos reconhecedores sintáticos é a detecção de erros de sintaxe indentificando clara e objetivamente a posição e o tipo de erro ocorrido. Mesmo que erros tenham sido encontrados, o Analisador Sintatico deve tentar recuperá-los prosseguindo a análise do texto restante.

Muitas vezes, o Analisador Sintático opera conjuntamente com oAnalisador Semântico, cuja principal atividade é determinar se as estruturas sintaticas analisadas fazem sentido, ou seja, verificar se um identificador declarado como váriavel é usado como tal; Se existe compatibilidade entre os operandos e operadores em expressões; etc.

8

Gramáticas regulares também conhecida como Tipo 3 da Hierarquia de Chomsky, é uma restrição sobre a forma das produções, pode-se criar uma nova classe de gramáticas de grande importância no estudo dos compiladores por possuírem propriedades adequadas para a obtenção de reconhecedores simples. Que também podem ser denominada deExpressão regular.

9

Descreva conceitos de fundamentação sobre autômato finito.

Um Autômato Finito pode ser visto como uma máquina composta, basicamente, de três partes:

a) Fitas – dispositivo de entrada que contém a informação a ser processada;

b) Unidade de Controle – reflete o estado corrente da máquina. Possui uma unidade de leitura (cabeça da fita) a qual acessa uma célula da fita de cada vez e movimenta-se exclusivamente para a direita;

c) Programa ou Função de Transição – finção que comanda as leituras e define o estado da máquina.

3

Compilador:

Compilador é um programa ou um grupo de programas que escrito por uma linguagem (esta sendo necessária de compilação para sua execução) ao ser compilado gera outro código que é interpretado pelo computador. Este código compilado é chamado de código objeto, podendo ser um arquivo executável

...

Baixar como (para membros premium)  txt (9.5 Kb)  
Continuar por mais 5 páginas »
Disponível apenas no TrabalhosGratuitos.com