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

As Ferramentas Auxiliares

Por:   •  2/10/2015  •  Monografia  •  593 Palavras (3 Páginas)  •  322 Visualizações

Página 1 de 3

1 – Exemplifique o uso de passagem de parâmetros por:

• Valor (Call by value).

A mais comum das estratégias de avaliação, onde parâmetros da função de transferência é chamado quando uma cópia do argumento altera o valor do parâmetro e não do argumento em si.

• Referência (Call by reference)

A função de parâmetros de referência é implantada ao se receber um argumento, porém não é uma cópia do argumento. Sendo assim a função de parâmetros se altera, ou seja, o argumento passado também pode ser alterado, ambos apontando sempre para o mesmo valor.

• Nome (Call by name)

O procedimento e tratado como se fosse um macro onde a chamada é substituída pelo corpo do procedimento, sendo seus parâmetros formais substituídos pelos parâmetros de chamada.

• Necessidade (Call by need)

        Os parâmetros formais são substituídos por referências (de ponteiros) dos parâmetros reais de uma instância. É um mecanismo mais complexo, pois quando efetivamente necessário na avaliação, essa referência é tratada por passagem de parâmetros copy-restore ou por call by name.

 

        

2 – Pesquise sobre ferramentas auxiliares para a construção de compiladores.

A construção de compiladores tem sido bem menos complexa graças a um conjunto de ferramentas que tem surgido ao logo do tempo da evolução das linguagens de programação. Estas ferramentas auxiliam e muito na parte de análise dos algoritmos criados pelos desenvolvedores. Cada ferramenta possui funções especificas como: Análise de léxica, Análise semântica, Geradores de código, etc.

Um bom exemplo de Gerador de análise léxica e semântica são as ferramentas Lex e Yacc. Muito comumente utilizados em UNIX. Trabalham em conjunto, sendo a Ferramenta Lex um gerado de scanners (yylex ()), e a ferramenta Yacc um gerado de parsers (yyparse ()).

O gerador Lex (Analisador léxico) pode ser utilizado para reconhecimento de qualquer tipo de expressão regular, transformando-as em autômatos. Para cada expressão regular deve-se sempre definir uma ação. Suas sub-rotinas auxiliares podem ser definidas como funções em C, utilizadas como funções de apoio de ações, sendo que nesse caso as funções não são alteras quando gerado o Scanner.

O gerador Yacc (Yet Another Compiler-Compiler) realiza análises semânticas, transforma uma gramatica que define uma linguagem de autômato de pilha que reconhece esta linguagem. Em cada gramatica gerada existe uma ação semântica. Sua declaração é realizada em linguagem C, semelhante ao Gerador Lex. A ferramenta define tokens e regras auxiliares para solução de ambiguidade. Sua regra de tradução é bem semelhante as definições gramaticais, sendo que a cada símbolo, seja terminal ou não, possui uma associação a um pseudo variável.

O Javacc (Java Compiler Compiler) é uma ferramenta bem similar aos geradores Lex e Yacc. Desenvolvida em java, a ferramenta permite análises sintáticas e léxicas, sendo que seu código gerado é de fácil interpretação para o ser humano. Sua implementação passa por três fases principais sendo: análise léxicas, análise sintática e geração de código ou execução. Essa ferramenta é um gerador de parser utilizado em aplicações java, que lê uma especificação da gramatica e a converte em um programa java que pode reconhecer se um determinado texto pertence a gramatica determinada.

...

Baixar como (para membros premium)  txt (4.6 Kb)   pdf (91.9 Kb)   docx (12.6 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com