Commit Graph

186 Commits

Author SHA1 Message Date
mrab
bbe0d86670 partial revert 2024-05-31 11:44:53 +02:00
30365d76bd Revert "parser add preincrement and decrement conversion"
This reverts commit 2acba0f283.
2024-05-31 11:44:10 +02:00
mrab
c0caa7ce01 Merge branch 'create-parser' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-31 11:24:26 +02:00
mrab
2b7d217e8a moved expression statement and expressionstatement 2024-05-31 11:24:11 +02:00
2acba0f283 parser add preincrement and decrement conversion 2024-05-31 11:23:25 +02:00
84613fabe0 parser add field subaccess 2024-05-31 11:07:19 +02:00
408111df51 parser implement field access 2024-05-31 11:04:23 +02:00
mrab
6abb9ae8ba Merge branch 'typedAST' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-31 10:37:07 +02:00
d4f474ba54 fix increment 2024-05-31 10:34:47 +02:00
mrab
5aa193bc08 Merge branch 'bytecode' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-31 09:44:45 +02:00
mrab
2e7c28812b Merge branch 'create-parser' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-31 09:42:16 +02:00
mrab
2ac3b60e79 Merge branch 'typedAST' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-31 09:41:37 +02:00
0694dfb77d Merge branch 'typedAST' of https://gitea.hb.dhbw-stuttgart.de/MisterChaos69/MiniJavaCompiler into typedAST 2024-05-26 21:45:33 +02:00
6ab64371b5 feat: Add support for block statements in type checking 2024-05-26 21:45:11 +02:00
067bf8d796 refactor: move incremental types to statementsexpressions 2024-05-19 09:20:43 +02:00
mrab
6f4143a60a increment/decrement 2024-05-16 11:42:48 +02:00
mrab
fadbdf1035 Merge branch 'create-parser' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-16 11:19:46 +02:00
f81a812f59 parser add assigment statement 2024-05-16 11:15:41 +02:00
mrab
d0d2cbd081 restructured bytecode code 2024-05-16 10:39:27 +02:00
e95377ee72 Merge remote-tracking branch 'origin/create-parser' into typedAST 2024-05-16 10:09:26 +02:00
mrab
ddab04f063 Merge branch 'typedAST' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-16 09:55:03 +02:00
mrab
09f70ca789 While assembly 2024-05-16 09:53:36 +02:00
2a502a6c67 fix return null for object return type not possible 2024-05-16 09:36:35 +02:00
mrab
d13e24c216 Merge branch 'create-parser' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-16 09:33:16 +02:00
mrab
53e1afc9e4 Merge branch 'typedAST' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-16 09:28:18 +02:00
mrab
535a6891ad Local variable assignment 2024-05-16 09:28:00 +02:00
07837f7d5f null is now a valid declaration value for a object 2024-05-15 13:04:06 +02:00
a80dc1d34b null is now a valid declaration value for a object 2024-05-15 12:51:14 +02:00
e572975bda add: inject default constructor 2024-05-15 11:45:41 +02:00
mrab
207fb5c5f3 local variables working 2024-05-15 11:23:40 +02:00
b11adcf907 parser add this and braced expressions 2024-05-15 10:32:03 +02:00
b095678769 add: local variable assembler 2024-05-15 10:01:01 +02:00
a4d41b9ef7 parser add timesequal, divideequal, moduloequal, minusequal, andequal, xorequal, orequal 2024-05-14 23:35:56 +02:00
9f658397de parser implement assign 2024-05-14 23:14:43 +02:00
524c667c43 parser add while loop 2024-05-14 16:48:45 +02:00
mrab
a4fff37b07 Bugfix: else assembly 2024-05-14 14:09:24 +02:00
mrab
c02de8f9b2 Merge branch 'create-parser' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-14 13:57:25 +02:00
mrab
a179dec3ea else Assembly 2024-05-14 13:57:20 +02:00
5723f6c662 parser add ifthenelse 2024-05-14 13:57:01 +02:00
mrab
95178366a2 Merge branch 'create-parser' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-14 13:21:12 +02:00
fef619ac03 parser add if then 2024-05-14 13:20:46 +02:00
mrab
f9f984568f block and if assembly (no else) 2024-05-14 13:20:37 +02:00
mrab
5284d6ecba Merge branch 'create-parser' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-14 12:34:11 +02:00
aa3b196ab5 set constructor return type void 2024-05-14 12:33:42 +02:00
mrab
d1d9a5d6e1 constructor and method call using this 2024-05-14 12:29:55 +02:00
7ba9743b0a parser add increment decrement 2024-05-14 11:34:57 +02:00
83e6964d71 Merge remote-tracking branch 'origin/typedAST' into create-parser 2024-05-14 11:28:15 +02:00
f8b0b59c5d refactor unused function 2024-05-14 11:26:27 +02:00
fae3498bd9 Refactor BinaryOperations and add char operations 2024-05-14 11:21:06 +02:00
3fa9736172 add post and pre operations 2024-05-14 11:19:26 +02:00
mrab
86e15b5856 method assembly is actually used (yay) 2024-05-14 11:12:12 +02:00
mrab
393253c9bb Merge branch 'create-parser' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-14 10:29:27 +02:00
mrab
09469e0e45 added boolean expression assembly 2024-05-14 10:28:57 +02:00
64829c2086 replace parseBlock with parseStatement 2024-05-14 10:16:56 +02:00
666fb4ee1a Assignment now rakes expression instead of identifier 2024-05-14 10:04:00 +02:00
e350c23db1 fix spelling error 2024-05-14 09:36:18 +02:00
20184c5e26 add modulus to AST and Typecheck 2024-05-13 13:13:24 +02:00
c29aa13d69 parser add and, or, xor 2024-05-09 00:09:08 +02:00
de078639fc parser add multiplication, division, modulo, addition, subtraction 2024-05-08 23:37:18 +02:00
1d5463582f add differentiation between local and field variable 2024-05-08 17:39:43 +02:00
4f61431c79 parser add unary not, plus and minus 2024-05-08 16:59:10 +02:00
f82776e636 parser add return 2024-05-08 15:52:44 +02:00
90fa658c8f parser implement varibale initialization 2024-05-08 15:36:05 +02:00
ebf54bf4cb parser implement int initializiation 2024-05-08 15:36:05 +02:00
b957f512ad parser add emptystatement 2024-05-08 15:36:05 +02:00
b82e205bcd parser implement nested blocks 2024-05-08 15:36:04 +02:00
98321fa162 parser implement multiple blockstatements 2024-05-08 15:36:04 +02:00
58367a95e6 parser implement localvardeclaration 2024-05-08 15:36:04 +02:00
ea18431b77 parser add constructor 2024-05-08 15:36:04 +02:00
9e6f31479f parser improve error messages 2024-05-08 15:36:04 +02:00
f183b8b183 parser implement methods with params 2024-05-08 15:36:04 +02:00
3130f7f7d4 add void methods 2024-05-08 15:36:04 +02:00
f57f360abf parser add empty methods 2024-05-08 15:36:04 +02:00
5e90f0d0ee parser add modifier 2024-05-08 15:36:04 +02:00
301b87c9ac parser implement multiple declarations 2024-05-08 15:36:04 +02:00
decc909c23 parser add custom type fields 2024-05-08 15:36:04 +02:00
mrab
d54c7cd7e6 Working pipeline for whole compiler 2024-05-08 15:23:18 +02:00
mrab
9d7af6effb Merge branch 'create-parser' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-08 14:35:45 +02:00
c49b7f556c parser implement varibale initialization 2024-05-08 13:29:10 +02:00
c8ce7f4b43 parser implement int initializiation 2024-05-08 13:16:00 +02:00
ebfb912183 parser add emptystatement 2024-05-08 11:05:02 +02:00
mrab
7cbf8aad08 Merge branch 'create-parser' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-08 11:04:43 +02:00
mrab
93702071fb Merge branch 'typedAST' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-08 10:57:21 +02:00
e8151ad2f0 parser implement nested blocks 2024-05-08 10:37:40 +02:00
a4b933d659 parser implement multiple blockstatements 2024-05-08 10:30:50 +02:00
7bfdeed620 add local and field var 2024-05-08 10:26:19 +02:00
2f81f82661 parser implement localvardeclaration 2024-05-08 10:20:55 +02:00
fecc7eceaa parser add constructor 2024-05-08 00:02:38 +02:00
5e8a2a90ed parser improve error messages 2024-05-08 00:00:18 +02:00
mrab
176b98d659 expression assembler 2024-05-07 21:18:01 +02:00
ced5d1df9c add program tests 2024-05-07 20:10:39 +02:00
acab0add95 added methodcall and assigment test 2024-05-07 16:42:01 +02:00
b040130569 removed unneccesary comments 2024-05-07 16:36:42 +02:00
d47c7f5a45 added tests 2024-05-07 16:34:43 +02:00
8c3c3625b9 fixed method and name resolution typecheck 2024-05-07 16:34:34 +02:00
b7d8f19433 add: MethodBuilder 2024-05-07 16:32:36 +02:00
158197b440 parser implement methods with params 2024-05-07 15:03:04 +02:00
068b97e0e7 add: constantPoolBuilding 2024-05-07 14:27:20 +02:00
c920a3dfb6 add: Classbuilder & ClassFileBuilder 2024-05-07 11:54:54 +02:00
358293d4d4 add typecheck method and constructor call 2024-05-07 11:28:35 +02:00