Commit Graph

269 Commits

Author SHA1 Message Date
Dennis Kaiser
8529e24a37 Merge branch '32-create-asm-class-structure' into 'master'
32: Create Meta ASM Structure

Closes #32

See merge request mkais001/klang!23
2020-03-17 16:08:54 +01:00
Marvin Kaiser
49b024b95f 32: Require data type for all asm functions 2020-03-17 16:02:03 +01:00
Marvin Kaiser
982fc6417d 32: Create Meta ASM Structure 2020-03-14 14:14:19 +01:00
Dennis Kaiser
bd173b1d45 Merge branch 'bug/fix-tco' into 'master'
push all args onto stack before moving them into the local var to ensure that...

See merge request mkais001/klang!22
abgabe_compilerbau
2020-03-10 12:19:34 +01:00
221b928d0e push all args onto stack before moving them into the local var to ensure that the function parameters can be used in the tail recursive function call 2020-03-10 12:07:55 +01:00
Marvin Kaiser
8dd0b6cffa Fix pretty printing to file 2020-03-10 11:21:49 +01:00
Marvin Kaiser
f288d5585f Update README.md 2020-03-10 11:04:03 +01:00
Dennis Kaiser
e05ca07d23 Merge branch 'extend-readme' into 'master'
add section explaining structs

See merge request mkais001/klang!21
2020-03-09 23:27:45 +01:00
fd17a25f29 add section explaining structs 2020-03-09 23:18:46 +01:00
Dennis Kaiser
500cfaffbe Merge branch 'fix-do-while' into 'master'
visit block first because the condition variable may be initialized inside the block

See merge request mkais001/klang!20
2020-03-09 23:16:33 +01:00
5a5191612e visit block first because the condition variable may be initialized inside the block 2020-03-09 23:04:55 +01:00
Dennis Kaiser
36a38ee7ab Merge branch '16-tail-recursion-optimization' into 'master'
Resolve "Tail Recursion Optimization"

Closes #16

See merge request mkais001/klang!18
2020-03-09 22:59:38 +01:00
Dennis Kaiser
c38a330fda Merge branch '19-add-junit-testsuite' into 'master'
Resolve "Add JUnit Testsuite"

Closes #19

See merge request mkais001/klang!19
2020-03-09 22:59:24 +01:00
ac870460e6 use ubuntu, install maven 2020-03-09 22:03:01 +01:00
da56e1c05e try maven:latest as base image 2020-03-09 21:55:47 +01:00
ba17c7e2b6 fix typo 2020-03-09 21:50:06 +01:00
d6c0131d8f add test parser test, rename test to test compilation 2020-03-09 21:46:52 +01:00
d90581f0cd add new target testJava to execute the junit tests 2020-03-09 21:46:31 +01:00
6714d2136d do not run tests when building the project 2020-03-09 21:43:26 +01:00
fe9c9b79b8 add test directory to settings 2020-03-09 21:40:45 +01:00
89ec828499 remove unused import 2020-03-09 21:32:40 +01:00
9df0da89ff implement junit tests 2020-03-09 21:32:05 +01:00
649e690ac4 add junit 2020-03-09 21:31:54 +01:00
6d60dcc4a3 add option to surpress illegal relfective access warning 2020-03-09 21:31:45 +01:00
35de3c7de4 implement test for tail call optimization 2020-03-09 17:10:50 +01:00
5701d3e918 add TCO to readme, add floats 2020-03-09 16:13:44 +01:00
704e6441ca move float result into rax before further processing 2020-03-09 16:09:15 +01:00
cb5ceafbbc implement tail recursion call optimization when generation function call 2020-03-09 15:58:15 +01:00
d96b083c41 add metadata to class fields during visit of function definition nodes 2020-03-09 15:57:37 +01:00
acaa37b3b1 implement detection of tail calls 2020-03-09 15:55:23 +01:00
d1cf626934 add flag to indicate whether this is a tail call 2020-03-09 15:55:01 +01:00
Dennis Kaiser
4f1d009626 Merge branch '24-structs' into 'master'
Resolve "Structs"

Closes #24

See merge request mkais001/klang!17
2020-03-09 14:43:17 +01:00
Dennis Kaiser
335b70d301 Merge branch '29-remove-print-statement' into 'master'
delete print statement

Closes #29

See merge request mkais001/klang!16
2020-03-09 14:23:07 +01:00
ac6cb22e45 delete print statement 2020-03-09 14:19:43 +01:00
14f80b46cc remove whitespace 2020-03-09 14:12:19 +01:00
4a9e5c30e1 implement test_expected functions for all types in use 2020-03-09 14:10:35 +01:00
0adb9e22da implement print function for struct addresses and bools 2020-03-09 14:10:03 +01:00
1f8de66751 update the struct test so that field c of the test struct is of type double 2020-03-09 13:49:09 +01:00
fc16663dae make floats work in structs 2020-03-09 13:48:31 +01:00
31330db676 replace DOT with PERIOD 2020-03-09 12:53:26 +01:00
8bb912b377 implement isNumericType 2020-03-09 12:51:28 +01:00
3b5dc43cfb implement test functions 2020-03-09 12:49:09 +01:00
08398e4064 add struct test function prototype 2020-03-09 12:48:31 +01:00
b776ac00e3 call struct tests 2020-03-09 12:48:31 +01:00
9adc48da82 implement struct tests 2020-03-09 12:48:31 +01:00
1403e0a231 fix indices 2020-03-09 12:48:31 +01:00
02666a9459 implement visitors 2020-03-09 12:48:31 +01:00
32cb06cd51 implement method that returns the index of a field by name 2020-03-09 12:48:31 +01:00
e3d8f3cfa7 implement field access visitor 2020-03-09 12:48:31 +01:00
90ed033943 implement fielfd assignment node 2020-03-09 12:48:31 +01:00