try to run main
This commit is contained in:
parent
f273c74693
commit
fe249c5b2a
Source
25
Source/Compiler.java
Normal file
25
Source/Compiler.java
Normal 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();
|
||||
|
||||
}
|
||||
}
|
@ -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) {
|
||||
|
||||
|
@ -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 {
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -33,6 +33,8 @@ public class RefType extends AbstractType implements IClass {
|
||||
this.methodContext = methodContext;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public TypeCheckResult typeCheck() throws Exception {
|
||||
TypeCheckResult result = new TypeCheckResult();
|
||||
|
@ -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;
|
||||
|
@ -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 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user