Commit Graph

161 Commits

Author SHA1 Message Date
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
7422510267 add expression to methodcall 2024-05-07 11:09:10 +02:00
40c7cab0e3 apply pull and add tests 2024-05-07 11:04:40 +02:00
mrab
f988c80b83 Merge branch 'typedAST' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-07 09:59:01 +02:00
mrab
ff03be2671 moved type check to its own file 2024-05-07 09:53:16 +02:00
mrab
c248dc3676 Merge branch 'typedAST' of ssh://gitea.hb.dhbw-stuttgart.de:2222/MisterChaos69/MiniJavaCompiler into bytecode 2024-05-07 09:49:32 +02:00
75272498c4 fixed typechecker trying to find a field of a class in the symboltable 2024-05-07 08:20:10 +02:00
e3fa3efd95 add void methods 2024-05-06 23:51:33 +02:00
d3ea0d6d7b parser add empty methods 2024-05-06 23:34:03 +02:00
8d9d28cb1f added means of testing 2024-05-06 23:15:22 +02:00
f14470d8cc add name resolution, fix symbol table key, value switchup 2024-05-06 23:15:10 +02:00
ae6232380e Fix type mismatch and redefinition issues in typeCheckStatement function 2024-05-06 19:52:06 +02:00
0debfe995d add full block type checking 2024-05-06 19:13:46 +02:00
bea9a039a8 parser add modifier 2024-05-06 11:03:26 +02:00
32cce1f137 parser implement multiple declarations 2024-05-06 10:59:41 +02:00
e04c475c55 parser add custom type fields 2024-05-06 10:56:56 +02:00
62bd191314 update block and local variable typecheck 2024-05-06 10:49:33 +02:00
af7162ea54 parser implement fields 2024-05-06 09:53:14 +02:00
dbdd2f85bd inital commit with first version 2024-05-05 10:00:11 +02:00
mrab
f93a1ba58c working export of binary class files 2024-05-04 19:08:41 +02:00
mrab
967c3a4b41 Moved bytecode stuff into separate folder 2024-05-04 16:28:42 +02:00
mrab
e2f978ca93 serialization of class files 2024-05-04 15:41:05 +02:00
f4c70d4d30 add:Serialization Framework 2024-05-04 13:02:35 +02:00
mrab
580e56ebbb Class file data structure 2024-05-04 11:39:44 +02:00
fa9cb761d5 parser implement class 2024-05-03 15:58:21 +02:00
fa2dc24aa0 indent with spaces 2024-05-02 22:38:58 +02:00