Commit Graph

333 Commits

Author SHA1 Message Date
simon
4efa45f668 major refactoring to please sonar, add commandline-debug option to display bytecode info while compilation 2024-06-25 19:27:40 +02:00
simon
b917ae594d add returnType into MethodContext constructor call 2024-06-25 17:28:21 +02:00
simon
ee2553b089 add some e2e tests and make BytecodeTestUtil usable with different constructors 2024-06-25 17:26:31 +02:00
simon
7d8e787668 add toString to TypedProgram 2024-06-23 20:30:29 +02:00
simon
849ca1257b make compiler accessible from commandline 2024-06-23 20:30:16 +02:00
64c3ed6db3 add performances and fix unary 2024-06-23 18:35:57 +02:00
Ahmad
e2937b13e5 Fixed TypedUnary Type 2024-06-23 17:15:51 +02:00
Ahmad
7b163baa13 Fixed typedMain method 2024-06-23 16:11:36 +02:00
simon
d0e2af5da6 add codeGen for Main-Method 2024-06-23 16:07:40 +02:00
JonathanFleischmann
f0ca5324d8 Merge branch 'refs/heads/main' into testsuites 2024-06-23 14:32:39 +02:00
JonathanFleischmann
c498215d91 implemented rest of needed testfiles 2024-06-23 14:05:22 +02:00
Ahmad
7b786ff19d Integrated the typedMethodMain in typed AST 2024-06-23 13:39:51 +02:00
Ahmad
976312d5ae Merge remote-tracking branch 'origin/main' 2024-06-22 22:19:14 +02:00
Ahmad
ffaeb10b8b Corrected path to test package 2024-06-22 22:17:25 +02:00
JonathanFleischmann
59d0c97be3 translated most of test ASTs into TypedASTs 2024-06-22 19:36:39 +02:00
JonathanFleischmann
81590c62c5 working on translating testfiles into AST and then into TypedAST 2024-06-22 17:16:10 +02:00
JonathanFleischmann
b3ce4b5ff8 Merge branch 'refs/heads/main' into testsuites 2024-06-22 16:51:17 +02:00
Ahmad
72733f4612 Fixed Scope Issue, local variables not accessible outsidte their block 2024-06-22 13:37:11 +02:00
Ahmad
24c01a3f34 Refactored typedClasses 2024-06-22 12:07:15 +02:00
JonathanFleischmann
bfef8ccff6 implemented tests for each feature (not complete) and added AST Expectation (not complete) 2024-06-16 21:09:14 +02:00
404Simon
ec5cb4b490 fix main method null check 2024-05-30 23:58:01 +02:00
404Simon
0b720eedcd fix main method null check 2024-05-30 23:57:34 +02:00
fd35b4583e Add mainmeth 2024-05-29 19:40:34 +02:00
Ahmad
73102c9897 Made a line code better to read 2024-05-21 14:56:04 +02:00
404Simon
d55217e85a add System out 2024-05-20 23:06:16 +02:00
JonathanFleischmann
09a327bdee adapted tests to new structure of ast 2024-05-20 23:01:00 +02:00
72647ffe70 remove print from test File 2024-05-20 22:42:01 +02:00
7d4aa26cbb Add Print as Statement 2024-05-20 22:38:44 +02:00
404Simon
4eb90f72ba add continue, mod and div 2024-05-20 22:16:52 +02:00
0eba601eff merged two parser versions 2024-05-20 22:08:38 +02:00
89f6d325a9 MOD, DIV support by Parser 2024-05-20 22:07:40 +02:00
f3436965a8 Merge remote-tracking branch 'origin/main' 2024-05-20 21:57:36 +02:00
185738d1d1 Add Continue as Statement 2024-05-20 21:57:13 +02:00
7b53346580 Merge branch 'main' of https://github.com/JonathanFleischmann/CompilerULTIMATE 2024-05-20 21:50:15 +02:00
ce19fcb603 bugfix Parser for return; statements 2024-05-20 21:50:12 +02:00
404Simon
8bccfc3a56 bugfix in fieldvaraccess 2024-05-20 21:22:16 +02:00
404Simon
ad57e4baff Merge branch 'refs/heads/codeGEn' 2024-05-20 20:53:04 +02:00
404Simon
050dedd4db remove unused labels and make break work 2024-05-20 20:45:17 +02:00
404Simon
cc68035406 add for 2024-05-20 20:24:00 +02:00
404Simon
de4082eff3 add while and do while 2024-05-20 20:18:23 +02:00
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