Commit Graph

342 Commits

Author SHA1 Message Date
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
ahmad
6e2a331a66 Updated TypedField 2024-05-11 11:43:49 +02:00
ahmad
e1a0540a06 Add type to TypedClass 2024-05-11 11:43:27 +02:00
ahmad
c7d756b083 done TODOs for TypedReturn but not all 2024-05-10 19:03:18 +02:00
ahmad
875d0adac4 Added constructor for TypedParameter 2024-05-10 11:11:32 +02:00
ahmad
68b55a4600 Done TODOs for TypedReturn 2024-05-10 11:10:39 +02:00
a911cc10e1 Add empty constructor in parser when none is found 2024-05-10 10:36:23 +02:00
b3fc0c5efd Fix do while 2024-05-10 09:00:47 +02:00
ahmad
e63d7999a2 Done TODOs for TypedDoWhile 2024-05-10 08:33:39 +02:00
ahmad
e9e4f8ccd3 Done TODOs for TypedWhile 2024-05-10 08:31:23 +02:00
ahmad
9b12c843bc correct the condition in TypedBinary 2024-05-10 08:30:30 +02:00
ahmad
a38ea3ad02 added what can be typed 2024-05-09 21:19:58 +02:00
ahmad
5a5b467407 Removed convertToTypedAST methods 2024-05-09 21:14:48 +02:00
ahmad
08658fc8c4 Make the code better to read 2024-05-09 21:11:10 +02:00
ahmad
cb4c637ce4 Change the parameter classes to one class in TypedNode 2024-05-09 19:59:40 +02:00
ahmad
735781a63c renamed the static method 2024-05-09 18:39:44 +02:00
903f9e8d4e Fix ClassCanBeTyped 2024-05-09 17:52:48 +02:00
Ahmad
5f6ca52acb add the override method 2024-05-09 16:17:09 +02:00
Ahmad
054df55da3 handle merge 2024-05-09 16:13:15 +02:00
Ahmad
2b6a5277b5 add a minjava code what can be typed right now 2024-05-09 16:04:51 +02:00
Ahmad
b8f132d9da resolve the error 2024-05-09 16:00:54 +02:00
Ahmad
ba7b23bd34 Implemented typedblock (some statements and expressions) and add some TODOs 2024-05-09 15:59:28 +02:00
Ahmad
f502e58e6e add new class TypedFieldVarAccess and implement required methods of it 2024-05-09 15:56:53 +02:00
Ahmad
a16ee38ce8 update the TypedMethod 2024-05-09 15:56:13 +02:00
Ahmad
85171ce95d add method converToTypedDoWhile to TypedDoWhile class 2024-05-09 15:55:19 +02:00
Ahmad
b5a82f3761 renamed the methods in TypedConstructor and implement the typeCheck of it 2024-05-09 15:54:19 +02:00
Ahmad
8d72f0ff1b correct the implementation of converToTypedAST in typedclass 2024-05-09 15:52:33 +02:00
Ahmad
65dd9152f0 Add a new method to each class in TypedAST package and implement it 2024-05-09 15:51:31 +02:00
Ahmad
37950dee82 Add a help class "TypedExpressionUtil" 2024-05-09 15:45:46 +02:00
Ahmad
f329ad6c59 Added TODOs 2024-05-09 15:43:28 +02:00
404Simon
9246550a3e more codeGen 2024-05-09 13:30:50 +02:00
404Simon
f617061dab Merge remote-tracking branch 'origin/main' 2024-05-09 00:11:20 +02:00
404Simon
60b835d1bb wip localvars 2024-05-09 00:11:04 +02:00
JonathanFleischmann
4d58a4b1f2 wrote tests for ScannerAndParser and more 2024-05-09 00:10:23 +02:00
bbfdbd51dc Ids are gotten explicitly from the IDENTIFIER 2024-05-08 23:57:44 +02:00
dbca4ac327 Merge branch 'main' of https://github.com/JonathanFleischmann/CompilerULTIMATE 2024-05-08 23:54:56 +02:00
379bfe7201 fixed nested IDs showing this. along their name 2024-05-08 23:54:52 +02:00
404Simon
5676fb31de refactor methodcontext 2024-05-08 23:21:09 +02:00
871447b9df Merge branch 'main' of https://github.com/JonathanFleischmann/CompilerULTIMATE 2024-05-08 23:12:17 +02:00
03401434d5 Parser ignores Comments 2024-05-08 23:12:13 +02:00
918acef610 Add Bytecodegenerator for LocalVariable 2024-05-08 22:16:09 +02:00
Ahmad
dea4ba1808 handling merge 2024-05-08 20:54:11 +02:00
Ahmad
b54b2616e0 add initialisation in method 2024-05-08 20:33:58 +02:00
ff04359d25 Merge branch 'main' of https://github.com/JonathanFleischmann/CompilerULTIMATE 2024-05-08 20:33:25 +02:00
a3adb5d62d added returnVoid back in 2024-05-08 20:33:20 +02:00
Ahmad
db646c3399 Implemented the statements in TypedBlock 2024-05-08 20:26:09 +02:00
Ahmad
622a0951f3 Updated the method converToTypedAST 2024-05-08 16:30:52 +02:00
Ahmad
81d1cf6ca8 fix error 2024-05-08 16:06:20 +02:00
Ahmad
bfcbb4dc2d Updated convertToTypedAST of TypedConstructor 2024-05-08 16:05:32 +02:00
Ahmad
cdfb914816 Handling marge 2024-05-08 15:55:17 +02:00
Ahmad
9d35956735 Add initialisition 2024-05-08 15:51:56 +02:00
JonathanFleischmann
4b071ea149 empty class now working 2024-05-08 15:51:25 +02:00
JonathanFleischmann
8c1ae8712e Merge branch 'refs/heads/main' into testsuites 2024-05-08 15:35:08 +02:00