precisava de umas dicas..
criar um compilador atraves de um programa escrito em C seja gerado o corresponde programa em assembly. Uma vez gerado e compilado o programa em assembly,
devemos obter o resultado esperado aquando da escrita do programa em
linguagem natural.
Operaçoes matematicas elementares
Pretende-se que o compilador (um unico executavel) seja capaz de gerar
codigo assembly para as operaçoes elementares da matematica (soma, subtracçao, divisao e multiplicaçao).
Use apenas tipos de dados inteiros.
No final o programa deve executar correctamente.
se alguem me puder ajudar.. agradeço..
abraço
Tenta ser mais explicito na tua dúvida..., acabaste de colocar um enunciado e nenhuma dúvida em concreto.
abraços, HecKel
ok, logo tento ser mais explicito.. agr n tenho tempo :)
abraço
Esta parte partiu-me todo: criar um compilador atraves de um programa escrito em C seja gerado o corresponde programa em assembly
Porquê?
Neste momento estou a fazer um compilador em Java, qual a novidade?
Sugestões para veres:
http://en.wikipedia.org/wiki/Yacc
http://en.wikipedia.org/wiki/JavaCC
http://en.wikipedia.org/wiki/List_of_compiler-compilers
abraços, HecKel
Hipnoted
31-10-2006, 20:48
Esta parte partiu-me todo:
Tú não percebes-te acho eu... Acredita que não é para se partir todo, dá algum trabalho.
A frase não está bem estruturada.
sapropel
31-10-2006, 21:13
precisava de umas dicas..
criar um compilador atraves de um programa escrito em C seja gerado o corresponde programa em assembly. Uma vez gerado e compilado o programa em assembly,
devemos obter o resultado esperado aquando da escrita do programa em
linguagem natural.
Operaçoes matematicas elementares
Pretende-se que o compilador (um unico executavel) seja capaz de gerar
codigo assembly para as operaçoes elementares da matematica (soma, subtracçao, divisao e multiplicaçao).
Use apenas tipos de dados inteiros.
No final o programa deve executar correctamente.
se alguem me puder ajudar.. agradeço..
abraço
bom, esse enunciado também é um pouco incompleto, e o facto de chegares aqui so com o enunciado e pedir ajuda sem qualquer pedido de esclarecimento de uma duvida, sugere que estejas a nora com o projecto.
devias ter ido as aulas, mas deixa lá, se não conseguires fica pro proximo semestre.
quanto ao projecto em si:
"operações só com numeros inteiros", fica a dúvida se posso declarar variaveis inteiras ou se só posso fazer operações com constantes inteiras.
o compilador deve verificar sintaxe do ficheiro de entrada? muitas vezes os profs poupam-nos disso principalmente em projectos de meio de ano/semestre (visto que tamos a principio de Novembro).
o projecto em si nem parece muito complicado (assusta o facto de dizer "escrever um compilador"), basta um parser para as operações basicas, provavelmente uma expressão regular chegava. se não for preciso verificar sintaxe, nem dar para declarar variaveis, então ainda melhor.
o que é que já fizeste do programa? como é que estás a fazer? o enunciado não diz mais nada?
bem, desculpem so responder agr..
se a frase ta mal construida eu n sei, mas no enunciado esta dessa forma.. :)
qto a cena de faltar as aulas.. tb n e a razao .. lol .. mas mesmo em aulas nun ha grande koisa pa aprender..
a cena e k podes declarar as variaveis nun ficheiro qq, e nesse mesmo ficheiro defines cada uma delas , e uma expressao matematica.. tipo:
etapa1:
inteiro a=5;
inteiro b=2;
fim da etapa 1:
etapa2:
exp matematica: ((a+b)\(a*b));
fim da etapa 2:
................
depois disto.. tenho que fazer em c ou em java.. embora tava a pensar optar por c, um algoritmo que leia isto.. em assembly.. :)
penso que n e dificil, mas custa a entender um pouco aquilo k e pa fazer...
abraç ..
ja tenh umas coisas, "que e pa ler akelas variaveis " a cena pa ler parametro a parametro..
acontece e k isto ta andar devagarinho .. e tenho que entregar dentro de 1 semana..