1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /*
- * 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 IvannosysTargetArch Init(Code tac) throws Exception;
- public IvannosysTargetArch Compile() throws Exception;
- public IvannosysTargetArch Format() throws Exception;
- // Export gera a representacao fisica do codigo
- // Sua funcao é gerar o(s) arquivo(s) de saida
- public IvannosysTargetArch Export() throws Exception;
- // 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;
- }
|