308 Commits

Author SHA1 Message Date
86fe676492 rename method to match new grammar 2020-03-09 12:47:02 +01:00
64634a0d4d move destructor call from expressions to statements 2020-03-09 12:47:02 +01:00
3fb350ad31 make destructor call inherit from statement 2020-03-09 12:47:02 +01:00
d89c085ecc implement context analysis for destructor node 2020-03-09 12:47:02 +01:00
9300e37fca implement node visitors for the destructor node 2020-03-09 12:47:02 +01:00
995fac20c5 create node that represents a destructor call 2020-03-09 12:47:02 +01:00
31460860d5 add a destructor call to the grammar 2020-03-09 12:47:02 +01:00
441466c83f next time check before commiting everything... 2020-03-09 12:47:02 +01:00
80deae6971 implement visitors for null atom 2020-03-09 12:47:02 +01:00
2f425944e5 implement null node 2020-03-09 12:47:02 +01:00
8ebbd6ae54 implement null type 2020-03-09 12:47:02 +01:00
9d83e5425d add a null literal 2020-03-09 12:46:13 +01:00
5c0459c5a2 implement constructor call, eval and genasm are still stubs 2020-03-09 12:45:16 +01:00
317c2c52ca add constructor call expression to the grammar 2020-03-09 12:45:16 +01:00
19daaa63af use GetStructNames instead of collecting the names in GetStructs 2020-03-09 12:45:16 +01:00
a79a2332a1 implement visitor to collect all struct names 2020-03-09 12:45:16 +01:00
f0b6f052d6 implement pretty print for struct field access expression 2020-03-09 12:45:16 +01:00
1ca3f5ca8b implement context analysis for struct field access expressions 2020-03-09 12:45:16 +01:00
6a7eb8fde2 make GetStructs collect the complete struct definitions 2020-03-09 12:45:16 +01:00
a969aa895f make GetStructs collect the complete struct definitions 2020-03-09 12:45:16 +01:00
fef397c60d implement empty visitors 2020-03-09 12:43:25 +01:00
e873e211c9 implement node for struct field access expression 2020-03-09 12:43:25 +01:00
304891adb8 add struct field access expression 2020-03-09 12:43:25 +01:00
233894fbcf remove NYI errors, check if a struct is defined if the declared type is not primitive 2020-03-09 12:43:25 +01:00
6981c288e6 implement context analysis 2020-03-09 12:43:25 +01:00
33904a3c33 implement pretty print visitor 2020-03-09 12:41:52 +01:00
279ea28a29 add empty stubs for the visit method of the new nodes 2020-03-09 12:41:52 +01:00
15c55ed065 add the new nodes to the list of visitable nodes 2020-03-09 12:41:52 +01:00
309fe39c01 implement get vars visitor 2020-03-09 12:41:52 +01:00
fd7f7c39bb implement a visitor that collects the names of all structs that were defined 2020-03-09 12:41:52 +01:00
b5086b44f0 return a struct type if no primitive type with the given name was found 2020-03-09 12:41:52 +01:00
e971b8b91e create a new type class that represents the type of a struct 2020-03-09 12:40:59 +01:00
6f8c995f19 create DAST nodes for structDefinition and structField 2020-03-09 12:40:59 +01:00
3e8e30e0da add struct definitions as a direct child of program 2020-03-09 12:40:59 +01:00
Dennis Kaiser
e297a7d2e8 Merge branch '25-floats' into 'master'
Resolve "Floats"

Closes #25

See merge request mkais001/klang!15
2020-03-06 00:36:10 +01:00
333475f27b implement integer division tests 2020-03-05 17:21:08 +01:00
a8b093a005 reenable the mod test for -1, -1 2020-03-05 17:13:36 +01:00
1530dc6c55 sign extend rax into rbx before calling idiv, the replaces the rbx zeroing 2020-03-05 17:13:19 +01:00
09eec634b1 add new mixdiv test for -1, -1 2020-03-05 16:50:37 +01:00
150e18e05b inspec type of expression instead of the type of the assignment, since the assignment type is always null 2020-03-05 16:40:31 +01:00
ebeabfe930 fix input values to match expected value 2020-03-05 16:39:47 +01:00
Marvin Kaiser
bba950c851 25: Fix tests 2020-03-05 12:31:09 +01:00
Marvin Kaiser
cbc8020e81 25: Rewrite prepareRegisters, correct operator order for comparisons 2020-03-05 09:06:22 +01:00
Marvin Kaiser
58cdaf04dd 25-Add more tests for floats 2020-03-05 07:58:16 +01:00
Marvin Kaiser
229920946d 25- Strict check between function signature and function call 2020-03-04 20:53:50 +01:00
18cfbdcbb5 implement function call tests for floats and floats mixed with integers 2020-03-04 20:46:49 +01:00
384d98418d implement math tests for floats 2020-03-04 20:46:08 +01:00
Marvin Kaiser
6eb61f905f 25: Add logic for handling float in function calls 2020-03-04 19:29:24 +01:00
Marvin Kaiser
0316a7d4bf 25: Start adding Float Type 2020-03-03 20:45:55 +01:00
Marvin Kaiser
db8146ed8a Merge branch '28-static-type-check-bug-with-if-clause-in-function' into 'master'
Resolve "Static type check bug with if clause in function"

Closes #28

See merge request mkais001/klang!14
2020-02-04 12:07:03 +01:00