interface llvm
This commit is contained in:
@@ -1,44 +1,58 @@
|
||||
package TP2.llvm;
|
||||
import TP2.asd.Program.AssignImp;
|
||||
import TP2.asd.Program.BinopExpressionImp;
|
||||
import TP2.asd.Program.ConstImp;
|
||||
import TP2.asd.Program.ProgramImp;
|
||||
import TP2.asd.Program.Return_instrImp;
|
||||
import TP2.llvm.ProgramLLVM.*;
|
||||
|
||||
public interface Interface {
|
||||
//////////ProgramLLVM
|
||||
//////////ProgramLLVM (Program)
|
||||
public interface ProgLLVM{
|
||||
public <H,S> S accept(ProgramLLVMVisitor<H,S> v, H h);
|
||||
public String prettyprinter();
|
||||
}
|
||||
|
||||
public interface ProgramLLVMVisitor<H,S> {
|
||||
public S visitProgramLLVM(ProgramLLVMImpl programImp, H h);
|
||||
public S visitProgramLLVM(ProgramLLVMImpl e, H h);
|
||||
}
|
||||
|
||||
//////////DefineLLVM
|
||||
//////////DefineLLVM (function)
|
||||
public interface DefineLLVM{
|
||||
public <H,S> S accept(DefineLLVMVisitor<H,S> v, H h);
|
||||
public String prettyprinter();
|
||||
}
|
||||
|
||||
public interface DefineLLVMVisitor<H,S> {
|
||||
public S visitProgramLLVM(DefineLLVMImpl defineLLVMImp, H h);
|
||||
public S visitProgramLLVM(DefineLLVMImpl e, H h);
|
||||
}
|
||||
|
||||
public interface InstructionLLVM{
|
||||
public <H,S> S accept(InstructionLLVMVisitor<H,S> v, H h);
|
||||
public String prettyprinter();
|
||||
}
|
||||
|
||||
public interface InstructionLLVMVisitor<H,S> {
|
||||
public S visitReturnLLVM(ReturnLLVMImp e, H h);
|
||||
public S visitAssignLLVM(AssignLVMImp e, H h);
|
||||
}
|
||||
|
||||
//////////ExpressionLLVM (expression)
|
||||
public interface ExpressionLLVM{
|
||||
public String prettyprinter();
|
||||
}
|
||||
|
||||
public interface ExpressionLLVMVisitor<H,S> {
|
||||
public S visitConstLLVM(ConstLLVMImp e,H h);
|
||||
public S visitBinOpLLVM(BinOpLLVMImp e, H h);
|
||||
}
|
||||
|
||||
public interface Val{
|
||||
public String prettyprinter();
|
||||
}
|
||||
|
||||
public interface IdentifierLLVM{ //globaux @ et local %
|
||||
public String prettyprinter();
|
||||
}
|
||||
|
||||
public interface InstructionLLVM{
|
||||
public String prettyprinter();
|
||||
}
|
||||
|
||||
public interface ExpressionLLVM{
|
||||
public String prettyprinter();
|
||||
}
|
||||
|
||||
public interface Val{
|
||||
public String prettyprinter();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user