Compare commits

...

2 Commits

Author SHA1 Message Date
Krauß, Josefine
b8a8a094f4 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	Source/abstractSyntaxTree/Class/MethodDecl.java
2024-05-08 15:15:25 +02:00
Krauß, Josefine
fe249c5b2a try to run main 2024-05-08 15:14:58 +02:00
5 changed files with 37 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

@@ -34,6 +34,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 {