Montador

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (369 palavras )
  • Download(s) : 0
  • Publicado : 27 de novembro de 2012
Ler documento completo
Amostra do texto
Trabalho Prático 3:
Expansor de Macros
Pedro Matos Castanha
1

Departamento de Ciência da Computação – Universidade Federal de Minas Gerais (UFMG)
pedrocastanha@gmail.com

Resumo. Esterelatório descreve a implementação do expansor de macros para a máquina básica utilizada ao longo de todo o curso.

1. Introdução
Neste trabalho foi implementado um expansor de macros para uma máquinavirtual. Para a criação da mesma foi utilizada a linguagem de programação C.

2. Código Fonte
• • • • expansor.c: Arquivo contendo o método principal. macro.h: Define as estruturas de dados e ocabeçalho das funções do expansor. macro.c: Contem as funções utilizadas pelo expansor. Makefile: Arquivo criado para auxiliar na execução do programa.

3. Compilação
O programa pode ser compiladoutilizando o makefile com o seguinte comando: make expansor 4. Execução A execução do programa tem como parâmetros: • • Nome do arquivo de entrada: informado como primeiro argumento na chamada do expansor demacros. Nome do arquivo de saída: informado como segundo argumento na chamada do programa.

Um exemplo de chamada seria da forma ./expansor teste1 saida1 Enquanto que para se executar o programautilizando do Makefile basta chamar o comando: make run

5. Estrutura Tabela de Macros
Foi criada uma estrutura de dados ”Macro”, que é usada como Tabela de Macros. Cada posição da tabela possui osseguintes campos: • • •

nome: Armazena o nome da macro. inst: Este campo guarda o nome da instrução que está sendo referenciada. variavel: Guarda a variável pertencente a instrução.

6. ProgamasExemplo Juntamente com o código fonte foram fornecidos dois progamas de exemplo para serem usados com o expansor assim como o programa teste passado na especificação. São eles: exp, mdc e teste1. Pararealizar testes utilizando estes programas basta alterar no arquivo Makefile qual argumento deve ser passado para o montador. • • exp: Imprime o resultado a^(b) de dois números passados pela...
tracking img