print et read presque fini !
This commit is contained in:
@@ -72,7 +72,7 @@ public interface Interface {
|
||||
public S visitIntLLVM(IntLLVMImp e,H h);
|
||||
public S visitVoidLLVM(VoidLLVMImp e, H h);
|
||||
public S visitBooleanLLVM(BooleanLLVMImp e, H h);
|
||||
public S visitStringLLVM(StringLLVMImp e, H h);
|
||||
public S visitCharLLVM(CharLLVMImp e, H h);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -152,8 +152,8 @@ TypeLLVMVisitor<String,String>
|
||||
|
||||
@Override
|
||||
public String visitDeclarGlobalLLVM(DeclarGlobalLLVMImp instr, String h) {
|
||||
String str = "@."+instr.name() + " = global";
|
||||
str += "[" + "x"+ "]";
|
||||
String str = "@."+instr.var().nom() + " = global";
|
||||
str += " [" + instr.type().accept(this, h)+ "x"+ instr.size()+ "] ";
|
||||
str+= "c\"\"\n";
|
||||
|
||||
return str;
|
||||
@@ -205,8 +205,9 @@ TypeLLVMVisitor<String,String>
|
||||
}
|
||||
|
||||
@Override
|
||||
public String visitStringLLVM(StringLLVMImp e, String h) {
|
||||
return "i8*";
|
||||
public String visitCharLLVM(CharLLVMImp e, String h) {
|
||||
if(e.isString()) return "i8*";
|
||||
else return "i8";
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@ public class ProgramLLVM {
|
||||
}
|
||||
}
|
||||
|
||||
public static record DeclarGlobalLLVMImp(String name) implements InstructionLLVM{
|
||||
public static record DeclarGlobalLLVMImp(VarLLVMImp var,TypeLLVM type, int size) implements InstructionLLVM{
|
||||
|
||||
@Override
|
||||
public <H, S> S accept(InstructionLLVMVisitor<H, S> v, H h) {
|
||||
@@ -218,10 +218,10 @@ public class ProgramLLVM {
|
||||
}
|
||||
}
|
||||
|
||||
public static record StringLLVMImp() implements TypeLLVM{
|
||||
public static record CharLLVMImp(Boolean isString) implements TypeLLVM{
|
||||
@Override
|
||||
public <H, S> S accept(TypeLLVMVisitor<H, S> v, H h) {
|
||||
return v.visitStringLLVM(this, h);
|
||||
return v.visitCharLLVM(this, h);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user