12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package common;
- /**
- *
- * @author Eugenio
- * @param
- */
- public interface IvannosysTargetArch {
- public void Init();
- public IvannosysTargetArch SetTAC(Code tac);
- public IvannosysTargetArch Compile();
- public IvannosysTargetArch Format();
- // Export gera a representacao fisica do codigo
- // Sua funcao é gerar o(s) arquivo(s) de saida
- public IvannosysTargetArch Export();
- // Metodos de traduzir tac para target
- public void Prolog(String id) throws Exception;
- public void Epilog(String id) throws Exception;
- public void TranslateLabel(Instruction inst) throws Exception;
- public void TranslateAssign(Instruction inst) throws Exception;
- public void TranslateJump(Instruction inst) throws Exception;
- public void TranslateCall(Instruction inst) throws Exception;
- public void TranslateReturn(Instruction inst) throws Exception;
- public void TranslatePushParam(Instruction inst) throws Exception;
- public void TranslatePushReturn(Instruction inst) throws Exception;
- public void TranslatePopReturn(Instruction inst) throws Exception;
- public void TranslatePopParam(Instruction inst) throws Exception;
- public void TranslateBranch(Instruction inst) throws Exception;
- public void TranslateUnary(Instruction inst) throws Exception;
- public void TranslateIndexedAssignment(Instruction inst) throws Exception;
- public void TranslateCopy(Instruction inst) throws Exception;
- public void TranslatePointerAssignment(Instruction inst) throws Exception;
- public void TranslateLoad(Instruction inst) throws Exception;
- public void TranslateStore(Instruction inst) throws Exception;
- }
|