interface llvm
This commit is contained in:
@@ -1,44 +1,58 @@
|
|||||||
package TP2.llvm;
|
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.ProgramImp;
|
||||||
|
import TP2.asd.Program.Return_instrImp;
|
||||||
import TP2.llvm.ProgramLLVM.*;
|
import TP2.llvm.ProgramLLVM.*;
|
||||||
|
|
||||||
public interface Interface {
|
public interface Interface {
|
||||||
//////////ProgramLLVM
|
//////////ProgramLLVM (Program)
|
||||||
public interface ProgLLVM{
|
public interface ProgLLVM{
|
||||||
public <H,S> S accept(ProgramLLVMVisitor<H,S> v, H h);
|
public <H,S> S accept(ProgramLLVMVisitor<H,S> v, H h);
|
||||||
public String prettyprinter();
|
public String prettyprinter();
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface ProgramLLVMVisitor<H,S> {
|
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 interface DefineLLVM{
|
||||||
public <H,S> S accept(DefineLLVMVisitor<H,S> v, H h);
|
public <H,S> S accept(DefineLLVMVisitor<H,S> v, H h);
|
||||||
public String prettyprinter();
|
public String prettyprinter();
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface DefineLLVMVisitor<H,S> {
|
public interface DefineLLVMVisitor<H,S> {
|
||||||
public S visitProgramLLVM(DefineLLVMImpl defineLLVMImp, H h);
|
public S visitProgramLLVM(DefineLLVMImpl e, H h);
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public interface IdentifierLLVM{ //globaux @ et local %
|
|
||||||
public String prettyprinter();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface InstructionLLVM{
|
public interface InstructionLLVM{
|
||||||
|
public <H,S> S accept(InstructionLLVMVisitor<H,S> v, H h);
|
||||||
public String prettyprinter();
|
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 interface ExpressionLLVM{
|
||||||
public String prettyprinter();
|
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 interface Val{
|
||||||
public String prettyprinter();
|
public String prettyprinter();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public interface IdentifierLLVM{ //globaux @ et local %
|
||||||
|
public String prettyprinter();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user