mirror of
https://github.com/JonathanFleischmann/CompilerULTIMATE.git
synced 2024-12-27 07:58:04 +00:00
adapted to Implementation of main in TypedAST
This commit is contained in:
parent
f0ca5324d8
commit
9cda095a0b
@ -127,12 +127,8 @@ public class TypingTests {
|
||||
public void testMain() {
|
||||
TypedProgram resultTypedAst = Compiler.generateTypedASTFromAst(AST_Main.get());
|
||||
assertEquals(TypedAST_Main.get(), resultTypedAst);
|
||||
try {
|
||||
throw new ExecutionControl.NotImplementedException("Main Class not yet implemented in TypedAST");
|
||||
} catch (ExecutionControl.NotImplementedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
// TODO: Wie soll das Resultat aussehen? Soll tatsächlich main auch als Methode aufgeführt werden?
|
||||
|
||||
@Test
|
||||
public void testMethod() {
|
||||
|
@ -13,6 +13,7 @@ public class AST_Break {
|
||||
List.of(
|
||||
new Class(
|
||||
"Break",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(),
|
||||
List.of(
|
||||
|
@ -13,6 +13,7 @@ public class AST_Class {
|
||||
List.of(
|
||||
new Class(
|
||||
"Class",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(),
|
||||
List.of(
|
||||
|
@ -12,6 +12,7 @@ public class AST_ClassObjects {
|
||||
List.of(
|
||||
new Class(
|
||||
"ClassObjects",
|
||||
null,
|
||||
List.of(
|
||||
new Declaration(
|
||||
"b",
|
||||
|
@ -13,6 +13,7 @@ public class AST_Comment {
|
||||
List.of(
|
||||
new Class(
|
||||
"Comment",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(),
|
||||
List.of(
|
||||
|
@ -13,6 +13,7 @@ public class AST_CompAssign {
|
||||
List.of(
|
||||
new Class(
|
||||
"CompAssign",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(
|
||||
new Method(
|
||||
|
@ -12,6 +12,7 @@ public class AST_ComplexCalls {
|
||||
List.of(
|
||||
new Class(
|
||||
"ComplexCalls",
|
||||
null,
|
||||
List.of(
|
||||
new Declaration(
|
||||
"classObject",
|
||||
|
@ -14,6 +14,7 @@ public class AST_Constructor {
|
||||
List.of(
|
||||
new Class(
|
||||
"Constructor",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(),
|
||||
List.of(
|
||||
|
@ -13,6 +13,7 @@ public class AST_Continue {
|
||||
List.of(
|
||||
new Class(
|
||||
"Continue",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(
|
||||
new Method(
|
||||
|
@ -13,6 +13,7 @@ public class AST_DataTypes {
|
||||
List.of(
|
||||
new Class(
|
||||
"DataTypes",
|
||||
null,
|
||||
List.of(
|
||||
new Declaration(
|
||||
"x",
|
||||
|
@ -12,6 +12,7 @@ public class AST_Field {
|
||||
List.of(
|
||||
new Class(
|
||||
"Field",
|
||||
null,
|
||||
List.of(
|
||||
new Declaration(
|
||||
"x",
|
||||
|
@ -13,6 +13,7 @@ public class AST_For {
|
||||
List.of(
|
||||
new Class(
|
||||
"For",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(
|
||||
new Method(
|
||||
|
@ -12,6 +12,7 @@ public class AST_If {
|
||||
List.of(
|
||||
new Class(
|
||||
"If",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(
|
||||
new Method(
|
||||
|
@ -13,6 +13,7 @@ public class AST_LogicExpr {
|
||||
List.of(
|
||||
new Class(
|
||||
"LogicExpr",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(
|
||||
new Method(
|
||||
|
@ -12,6 +12,7 @@ public class AST_Method {
|
||||
List.of(
|
||||
new Class(
|
||||
"Method",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(
|
||||
new Method(
|
||||
|
@ -13,6 +13,7 @@ public class AST_MethodCall {
|
||||
List.of(
|
||||
new Class(
|
||||
"MethodCall",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(
|
||||
new Method(
|
||||
|
@ -12,6 +12,7 @@ public class AST_MultipleClasses {
|
||||
List.of(
|
||||
new Class(
|
||||
"MultipleClasses",
|
||||
null,
|
||||
List.of(
|
||||
new Declaration(
|
||||
"anotherClass",
|
||||
@ -43,6 +44,7 @@ public class AST_MultipleClasses {
|
||||
),
|
||||
new Class(
|
||||
"AnotherClass",
|
||||
null,
|
||||
List.of(
|
||||
new Declaration(
|
||||
"multipleClasses",
|
||||
|
@ -14,6 +14,7 @@ public class AST_Operators {
|
||||
List.of(
|
||||
new Class(
|
||||
"Operators",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(
|
||||
new Method(
|
||||
|
@ -13,6 +13,7 @@ public class AST_Overloaded {
|
||||
List.of(
|
||||
new Class(
|
||||
"Overloaded",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(
|
||||
new Method(
|
||||
|
@ -13,6 +13,7 @@ public class AST_Print {
|
||||
List.of(
|
||||
new Class(
|
||||
"Print",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(
|
||||
new Method(
|
||||
|
@ -12,6 +12,7 @@ public class AST_Return {
|
||||
List.of(
|
||||
new Class(
|
||||
"Return",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(
|
||||
new Method(
|
||||
|
@ -13,6 +13,7 @@ public class AST_Unary {
|
||||
List.of(
|
||||
new Class(
|
||||
"Unary",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(),
|
||||
List.of(
|
||||
|
@ -12,6 +12,7 @@ public class AST_VariableDefWithDecl {
|
||||
List.of(
|
||||
new Class(
|
||||
"VariableDefWithDecl",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(),
|
||||
List.of(
|
||||
|
@ -13,6 +13,7 @@ public class AST_While {
|
||||
List.of(
|
||||
new Class(
|
||||
"While",
|
||||
null,
|
||||
List.of(),
|
||||
List.of(
|
||||
new Method(
|
||||
|
@ -135,6 +135,7 @@ public class TypedAST_Break {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("Break")
|
||||
)
|
||||
),
|
||||
|
@ -31,6 +31,7 @@ public class TypedAST_Class {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("Class")
|
||||
)
|
||||
),
|
||||
|
@ -117,6 +117,7 @@ public class TypedAST_ClassObjects {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("ClassObjects")
|
||||
)
|
||||
),
|
||||
|
@ -31,6 +31,7 @@ public class TypedAST_Comment {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("Comment")
|
||||
)
|
||||
),
|
||||
|
@ -275,6 +275,7 @@ public class TypedAST_CompAssign {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("CompAssign")
|
||||
)
|
||||
),
|
||||
|
@ -229,6 +229,7 @@ public class TypedAST_ComplexCalls {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("ComplexCalls")
|
||||
)
|
||||
),
|
||||
|
@ -149,6 +149,7 @@ public class TypedAST_Constructor {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("Constructor")
|
||||
)
|
||||
),
|
||||
|
@ -136,6 +136,7 @@ public class TypedAST_Continue {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("Continue")
|
||||
)
|
||||
),
|
||||
|
@ -174,6 +174,7 @@ public class TypedAST_DataTypes {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("DataTypes")
|
||||
)
|
||||
),
|
||||
|
@ -76,6 +76,7 @@ public class TypedAST_Field {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("Field")
|
||||
)
|
||||
),
|
||||
|
@ -166,6 +166,7 @@ public class TypedAST_For {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("For")
|
||||
)
|
||||
),
|
||||
|
@ -78,6 +78,7 @@ public class TypedAST_If {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("If")
|
||||
)
|
||||
),
|
||||
|
@ -558,6 +558,7 @@ public class TypedAST_LogicExpr {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("LogicExpr")
|
||||
)
|
||||
),
|
||||
|
@ -1,10 +1,7 @@
|
||||
package testResources.TypedAST.TypedASTFeatures;
|
||||
|
||||
import de.maishai.typedast.Type;
|
||||
import de.maishai.typedast.typedclass.TypedBlock;
|
||||
import de.maishai.typedast.typedclass.TypedClass;
|
||||
import de.maishai.typedast.typedclass.TypedConstructor;
|
||||
import de.maishai.typedast.typedclass.TypedProgram;
|
||||
import jdk.jshell.spi.ExecutionControl;
|
||||
import de.maishai.typedast.typedclass.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -14,22 +11,6 @@ public class TypedAST_Main {
|
||||
List.of(
|
||||
new TypedClass(
|
||||
"Main",
|
||||
// new Block(
|
||||
// List.of(
|
||||
// new Declaration(
|
||||
// "i",
|
||||
// Type.INT
|
||||
// ),
|
||||
// new Assignment(
|
||||
// new FieldVarAccess(
|
||||
// false,
|
||||
// null,
|
||||
// "i"
|
||||
// ),
|
||||
// new IntLiteral(0)
|
||||
// )
|
||||
// )
|
||||
// ),
|
||||
List.of(),
|
||||
List.of(),
|
||||
List.of(
|
||||
@ -45,6 +26,41 @@ public class TypedAST_Main {
|
||||
List.of()
|
||||
)
|
||||
),
|
||||
new TypedMain(
|
||||
Type.VOID,
|
||||
new TypedMethod(
|
||||
"main",
|
||||
Type.VOID,
|
||||
List.of(),
|
||||
List.of(),
|
||||
new TypedBlock(
|
||||
List.of(
|
||||
new TypedLocalVariable(
|
||||
"i",
|
||||
Type.INT
|
||||
)
|
||||
),
|
||||
List.of(
|
||||
new TypedAssignment(
|
||||
new TypedIntLiteral(
|
||||
0,
|
||||
Type.INT
|
||||
),
|
||||
new TypedFieldVarAccess(
|
||||
false,
|
||||
null,
|
||||
"i",
|
||||
Type.INT
|
||||
),
|
||||
Type.INT
|
||||
)
|
||||
),
|
||||
Type.VOID
|
||||
)
|
||||
|
||||
)
|
||||
|
||||
),
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("Main")
|
||||
|
@ -40,6 +40,7 @@ public class TypedAST_Method {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("Method")
|
||||
)
|
||||
),
|
||||
|
@ -204,6 +204,7 @@ public class TypedAST_MethodCall {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("MethodCall")
|
||||
)
|
||||
),
|
||||
|
@ -47,6 +47,7 @@ public class TypedAST_MultipleClasses {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("MultipleClasses")
|
||||
),
|
||||
new TypedClass(
|
||||
@ -87,6 +88,7 @@ public class TypedAST_MultipleClasses {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("AnotherClass")
|
||||
)
|
||||
),
|
||||
|
@ -437,6 +437,7 @@ public class TypedAST_Operators {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("Operators")
|
||||
)
|
||||
),
|
||||
|
@ -115,6 +115,7 @@ public class TypedAST_Overloaded {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("Overloaded")
|
||||
)
|
||||
),
|
||||
|
@ -96,6 +96,7 @@ public class TypedAST_Print {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("Print")
|
||||
)
|
||||
),
|
||||
|
@ -122,6 +122,7 @@ public class TypedAST_Return {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("Return")
|
||||
)
|
||||
),
|
||||
|
@ -95,6 +95,7 @@ public class TypedAST_Unary {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("Unary")
|
||||
)
|
||||
),
|
||||
|
@ -66,6 +66,7 @@ public class TypedAST_VariableDefWithDecl {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("VariableDefWithDecl")
|
||||
)
|
||||
),
|
||||
|
@ -182,6 +182,7 @@ public class TypedAST_While {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("While")
|
||||
)
|
||||
),
|
||||
|
@ -35,6 +35,7 @@ public class TypedAbstractSyntax_ClassWithConstructor {
|
||||
getConstructors(),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("ClassWithConstructor")
|
||||
)
|
||||
),
|
||||
|
@ -36,6 +36,7 @@ public class TypedAbstractSyntax_ClassWithField {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("ClassWithField")
|
||||
)
|
||||
),
|
||||
|
@ -118,6 +118,7 @@ public class TypedAbstractSyntax_ComplexClass {
|
||||
getConstructors(),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("ComplexClass")
|
||||
);
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ public class TypedAbstractSyntax_PublicClass {
|
||||
),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
Type.REFERENCE("PublicClass")
|
||||
)
|
||||
),
|
||||
|
Loading…
Reference in New Issue
Block a user