Commit Graph

294 Commits

Author SHA1 Message Date
404Simon
99ed3a322b add methodcall 2024-05-20 18:44:34 +02:00
404Simon
acf7b4eff8 accurately depicted stack size 2024-05-20 17:53:15 +02:00
404Simon
02039a5334 accurately depicted stack size 2024-05-20 16:59:30 +02:00
ca9f6cc06a Parser return bugfix 2024-05-20 16:52:36 +02:00
3a267180ba Parser can do Else-if 2024-05-20 16:26:20 +02:00
9f6fc527f3 Parser can do new Object(arg).method() now 2024-05-20 15:23:07 +02:00
c3a9dd1f1d Parser bugfix 2024-05-20 14:41:16 +02:00
fb8bfb719a Parser bugfix 2024-05-20 14:18:32 +02:00
35d7733c62 Parser Bugfix 2024-05-18 17:19:31 +02:00
4d0f124057 decalaration and initialization of local vars in for loops 2024-05-18 16:43:45 +02:00
546962f6ba accidentally pushed test stuffs 2024-05-18 16:23:43 +02:00
9757c082e1 Declaration is now a Statement and Varaibles can be declared anywhere BUT now it actually all get's parsed in the right order 2024-05-18 16:18:52 +02:00
4b69908ed7 parser can deal with int i = 5 2024-05-16 18:42:30 +02:00
31290c7c2c Parser doesn't accept code after a return statement (unreachable) 2024-05-16 18:09:29 +02:00
9aedcd646d Merge branch 'main' of https://github.com/JonathanFleischmann/CompilerULTIMATE 2024-05-16 17:46:06 +02:00
95bca36a27 removed null and this 2024-05-16 17:46:02 +02:00
JonathanFleischmann
2eecf3faa8 implemented test with complex class for type check 2024-05-16 00:09:05 +02:00
404Simon
f1b366e157 Merge branch 'refs/heads/main' into codeGen
# Conflicts:
#	src/main/java/de/maishai/typedast/typedclass/TypedAssignment.java
#	src/main/java/de/maishai/typedast/typedclass/TypedBinary.java
#	src/main/java/de/maishai/typedast/typedclass/TypedFieldVarAccess.java
#	src/main/java/de/maishai/typedast/typedclass/TypedIntLiteral.java
#	src/main/java/de/maishai/typedast/typedclass/TypedNew.java
#	src/main/java/de/maishai/typedast/typedclass/TypedUnary.java
#	src/main/resources/JavaTestfiles/ClassCanBeTyped.java
2024-05-15 20:22:18 +02:00
ahmad
3e63f309d9 Add some docu for TypedProgram 2024-05-15 19:12:49 +02:00
ahmad
5fe0098062 Refactored typed classes 2024-05-15 18:50:43 +02:00
ahmad
0215d38aa1 Updated the TypedFieldVarAccess 2024-05-15 18:42:49 +02:00
ahmad
bac72bdc81 Merge remote-tracking branch 'origin/main' 2024-05-15 18:25:18 +02:00
ahmad
1fb977f248 Refactored some typed classes 2024-05-15 18:23:39 +02:00
ahmad
7979aece64 update typeCheck of TypedFieldVarAccess 2024-05-15 17:59:16 +02:00
JonathanFleischmann
e51369715c implemented test with complex class for parser and scanner 2024-05-15 17:47:57 +02:00
ab6c71e9d1 Added this and null to expressions 2024-05-15 17:29:25 +02:00
8318defd30 minor change in ExpressionGenerator 2024-05-15 16:58:58 +02:00
f74ba50caa accidentally commited test stuff, revert 2024-05-15 16:57:30 +02:00
d4cdc45b63 Bugfix: charLiteral now get's the actual char, not just the quotationmark 2024-05-15 16:56:47 +02:00
ahmad
aaa8a27ff9 Doing typeCheck for multi classes 2024-05-15 16:42:09 +02:00
404Simon
017014c0ce make new work 2024-05-14 23:57:17 +02:00
ahmad
fdac5aa346 Merge remote-tracking branch 'origin/main' 2024-05-14 23:05:29 +02:00
3e64278624 Fix args null in New 2024-05-14 23:03:34 +02:00
ahmad
98a46b7679 Replaced the TypedClass to TypedProgram in typeCheck and others convert methods 2024-05-14 22:54:38 +02:00
404Simon
a3d7c1da7e add typecheck 2024-05-14 15:51:01 +02:00
JonathanFleischmann
f5cc94316e fixed program instead of classes and did some renaming etc 2024-05-14 15:23:12 +02:00
JonathanFleischmann
131264d27e Merge branch 'refs/heads/MultipleClasses' into testsuites 2024-05-14 15:05:12 +02:00
JonathanFleischmann
99d2e7a104 fixed program instead of classes and implemented some tests for typecheck 2024-05-14 15:03:26 +02:00
36f3d2755a Finish Compiler for Multiple Classes 2024-05-14 15:01:22 +02:00
404Simon
34efc2847b Merge branch 'refs/heads/main' into codeGen 2024-05-14 14:56:45 +02:00
404Simon
21aa8b1a2b register block vars 2024-05-14 14:55:36 +02:00
Ahmad
e97b9e55c8 Started typeCheck for TypedProgram 2024-05-14 14:45:16 +02:00
404Simon
8cdbf7a23b all binary operator supported 2024-05-14 14:27:55 +02:00
d99dbd4f64 Start Multiple Classes 2024-05-14 14:19:50 +02:00
404Simon
69548745c2 more binary operator support 2024-05-14 12:25:15 +02:00
404Simon
9a7d296ecc make most expressions work 2024-05-14 10:05:07 +02:00
JonathanFleischmann
71560cf163 fixed missing empty constructor in Testfiles 2024-05-14 09:50:08 +02:00
JonathanFleischmann
fb7a7d8230 Merge branch 'refs/heads/main' into testsuites 2024-05-14 09:44:22 +02:00
Ahmad
69563b57b3 Merge remote-tracking branch 'origin/main' 2024-05-14 06:56:17 +02:00
Ahmad
ac23df965d Capture all return cases 2024-05-14 06:55:18 +02:00
404Simon
2fb9ecd668 pop that stack 2024-05-14 00:06:59 +02:00
404Simon
9f084a79bb refactor and make typedFieldVarAccess Work 2024-05-14 00:02:47 +02:00
404Simon
922a0b7ffd add public to class declarations 2024-05-13 23:38:22 +02:00
404Simon
6a0dd6976c deal with stack in MethodContext 2024-05-13 22:32:49 +02:00
ahmad
a4c3e931a0 Updated the ClassCanBeTyped 2024-05-12 23:00:25 +02:00
ahmad
ac9ebb04b3 Implemented the checkType of TypedMethodCall 2024-05-12 23:00:14 +02:00
ahmad
1e830ff38b Update Description of some code 2024-05-12 22:59:44 +02:00
ahmad
1fc0c2323b Fixing the methodcall in Generator 2024-05-12 22:59:00 +02:00
f0912ed01f Merge remote-tracking branch 'origin/main' 2024-05-12 22:16:52 +02:00
86df59ac2f Fix args possibly null in RecursiveOwnerChain 2024-05-12 22:16:37 +02:00
ahmad
6b89cd0958 Update TypedMethod and TypedReturn and ClassCanBeTyped 2024-05-12 20:59:35 +02:00
ahmad
8b5ec63e4b Update the typeCheck in TypedFieldVarAccess 2024-05-12 20:28:43 +02:00
ahmad
de51bcd825 Updated TypedAssignment and add TODO 2024-05-12 19:56:00 +02:00
ahmad
cef0c5ba86 Merge remote-tracking branch 'origin/FixingError'
# Conflicts:
#	src/main/java/de/maishai/typedast/typedclass/TypedBoolLiteral.java
#	src/main/java/de/maishai/typedast/typedclass/TypedConstructor.java
#	src/main/java/de/maishai/typedast/typedclass/TypedLocalVariable.java
#	src/main/java/de/maishai/typedast/typedclass/TypedMethod.java
#	src/main/java/de/maishai/typedast/typedclass/TypedUnary.java
2024-05-12 19:02:52 +02:00
29a63e3771 generate FieldVarAcces back to front instead of front to back 2024-05-12 18:18:14 +02:00
ahmad
7c4ea4b7e2 Implemented the typeCheck in TypedConstructor 2024-05-12 15:54:44 +02:00
ahmad
ede0b38987 Add the list of TypedLocalVariable to TypedMethod and implemented the typeCheck 2024-05-12 15:46:14 +02:00
ahmad
092cbb5af9 Updated the typeCheck of TypedIfElse 2024-05-12 15:45:18 +02:00
ahmad
2322d161e6 Update the typeCheck of TypedBlock 2024-05-12 14:55:03 +02:00
ahmad
3b1161e97a Add recursiveOwnerChain to TypedAssignment 2024-05-12 14:44:17 +02:00
ahmad
8e9ce8caa4 updated the checkType in TypedFieldVarAccess 2024-05-12 14:39:28 +02:00
ahmad
048aff5996 Removed the parameter localvariable in typeCheck 2024-05-12 13:07:39 +02:00
ahmad
827b5551f4 Add TypedLocalVariable and integrate it to Constractur and Methods 2024-05-12 12:45:22 +02:00
ahmad
938e92f679 Removed the TypedField class and use instand of that teh TypedDeclaration 2024-05-12 11:33:15 +02:00
ahmad
a05a4c8744 renamed and refactored 2024-05-12 11:19:31 +02:00
48b41f67f4 remove returnVoid and use return(null) instead 2024-05-12 00:52:56 +02:00
ahmad
5d7f7ef546 Update TypedClass 2024-05-11 21:41:01 +02:00
404Simon
8019e0e9cc Merge remote-tracking branch 'origin/main' 2024-05-11 18:33:34 +02:00
404Simon
4fe433f961 refactor ctx structure 2024-05-11 18:33:06 +02:00
ahmad
d5879e6539 Add typeCheck to newStmt in TypedExpressionHelp 2024-05-11 18:27:55 +02:00
ahmad
ba97c04414 Updated the ClassCanBeTyped 2024-05-11 17:15:14 +02:00
ahmad
6fcf183bc8 Updated the ClassCanBeTyped 2024-05-11 17:07:57 +02:00
ahmad
ecb9abdf6b Add Type to TypedConstructor 2024-05-11 15:16:19 +02:00
ahmad
17601da0a7 Add some TODOS 2024-05-11 15:07:17 +02:00
ahmad
272c25d345 Made the code better to read 2024-05-11 14:37:47 +02:00
ahmad
2448139ba0 Merge remote-tracking branch 'origin/main' 2024-05-11 13:57:11 +02:00
ahmad
17c806c592 Updated the ClasCanBeTyped 2024-05-11 13:54:56 +02:00
ahmad
31d57c8ba9 update the typeCheck of TypedReturn 2024-05-11 13:54:30 +02:00
ahmad
e49691ff29 update the typeCheck of TypedParameter 2024-05-11 13:54:12 +02:00
ahmad
9f4b158237 Put typeCheck to TypedExpressionUtil 2024-05-11 13:53:47 +02:00
ahmad
da4f962281 Update the typeCheck of methods TypedAssignment 2024-05-11 13:53:21 +02:00
ahmad
9e45c65ea3 Update the typeCheck of methods TypedFieldVarAccess 2024-05-11 13:52:55 +02:00
ahmad
5cad5992f2 Added two attributes in TypedClass
and some methods
2024-05-11 13:51:42 +02:00
ahmad
47ecd27fef update TypedBoolLiteral 2024-05-11 11:50:07 +02:00
ahmad
f38670ebd2 put parameter to localvar 2024-05-11 11:49:51 +02:00
ahmad
1b8ed72dff Renamed method name 2024-05-11 11:48:41 +02:00
ahmad
f40318f905 Add Type to TypedBlock 2024-05-11 11:46:26 +02:00
ahmad
34a20668b6 Updated the TypeCheck of TypedAssignement 2024-05-11 11:45:47 +02:00
ahmad
cdbb3ae55f Add parameters to localVar in TypedMethod 2024-05-11 11:45:06 +02:00
ahmad
a8c44dc13b Implemented typeCheck of TypedFieldVarAccess 2024-05-11 11:44:28 +02:00