try to run main

This commit is contained in:
Krauß, Josefine 2024-05-08 15:14:58 +02:00
parent f273c74693
commit fe249c5b2a
6 changed files with 46 additions and 1 deletions

25
Source/Compiler.java Normal file
View File

@ -0,0 +1,25 @@
import abstractSyntaxTree.Class.FieldDecl;
import abstractSyntaxTree.Class.MethodDecl;
import abstractSyntaxTree.Class.RefType;
import abstractSyntaxTree.Program;
import java.util.ArrayList;
import java.util.List;
public class Compiler {
public static void Main(String[] args) throws Exception{
// get file
Program abstractSyntaxTree = new Program();
List<FieldDecl> emptyFieldDecl = new ArrayList<>();
List<MethodDecl> emptyMethodDecl = new ArrayList<>();
abstractSyntaxTree.classes.add(new RefType(emptyFieldDecl, emptyMethodDecl, null, null));
abstractSyntaxTree.typeCheck();
abstractSyntaxTree.codeGen();
}
}

View File

@ -34,6 +34,11 @@ public class FieldDecl extends AbstractType implements IClass{
//write field table
}
@Override
public TypeCheckResult typeCheck() throws Exception {
return null;
}
@Override
public void codeGen(ClassWriter cw) {

View File

@ -26,4 +26,13 @@ public class MethodDecl implements IClass {
return null;
}
@Override
public TypeCheckResult typeCheck() throws Exception {
return null;
}
@Override
public void codeGen(ClassWriter cw) throws Exception {
}
}

View File

@ -33,6 +33,8 @@ public class RefType extends AbstractType implements IClass {
this.methodContext = methodContext;
}
@Override
public TypeCheckResult typeCheck() throws Exception {
TypeCheckResult result = new TypeCheckResult();

View File

@ -3,7 +3,6 @@ package abstractSyntaxTree;
import TypeCheck.TypeCheckResult;
import abstractSyntaxTree.Class.FieldDecl;
import abstractSyntaxTree.Class.MethodDecl;
import abstractSyntaxTree.Datatype.RefType;
import org.objectweb.asm.MethodVisitor;
import abstractSyntaxTree.Class.RefType;
import org.objectweb.asm.ClassWriter;

View File

@ -42,6 +42,11 @@ public class MethodCallStatementExpression extends AbstractType implements IExpr
return result;
}
@Override
public void codeGen(MethodVisitor mv) throws Exception {
}
//Errors occur due to the change in parameter in the RefType class
@Override
public void CodeGen(MethodVisitor mv) throws Exception {