|
|
55a5b8f54a
|
Make sure that a variable that references an enum has to be initialized.
|
2023-03-16 00:01:31 +01:00 |
|
|
|
2768b4429c
|
Check that a struct field name of a struct declaration does not shadow an enum or a struct definition.
|
2023-03-15 23:48:57 +01:00 |
|
|
|
30dfbbbbba
|
Check that a variable name of variable declaration does not shadow an enum definition.
|
2023-03-15 23:33:12 +01:00 |
|
|
|
f77d6a002d
|
Check that a parameter name of a function definition does not shadow an enum definition.
|
2023-03-15 23:17:43 +01:00 |
|
|
|
22634c9652
|
Use LinkedHashMaps and LinkedHashSets to preserve the order of parameters and struct fields.
|
2023-03-15 23:08:38 +01:00 |
|
|
|
6fd3f5a2e6
|
Make it possible to use an enum in an expression (i.e. selecting one of the enum values: Foo.A)
|
2023-03-15 19:14:04 +01:00 |
|
|
|
3b928d621b
|
Refactor FunctionDefinition and Parameter context analysis and extend the type check to include enums.
|
2023-03-15 17:47:58 +01:00 |
|
|
|
9a58afb550
|
Implement StructField type checking in ContextAnalysis.
|
2023-03-15 17:21:35 +01:00 |
|
|
|
6e4431652c
|
Remove FunctionInformation and replace it with FunctionDefinition.
|
2023-03-15 16:19:42 +01:00 |
|
|
|
7af815042b
|
WIP: Add enum support
|
2023-03-15 15:56:42 +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 |
|
|
|
89ec828499
|
remove unused import
|
2020-03-09 21:32:40 +01:00 |
|
|
|
9df0da89ff
|
implement junit tests
|
2020-03-09 21:32:05 +01:00 |
|
|
|
35de3c7de4
|
implement test for tail call optimization
|
2020-03-09 17:10:50 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
09eec634b1
|
add new mixdiv test for -1, -1
|
2020-03-05 16:50:37 +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 |
|
|
|
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
|
34253a70ba
|
Implement operator precedence with and without parenthesis
|
2020-02-03 16:35:29 +01:00 |
|
|
|
fa8904e0f5
|
fix type annotation for comparison expressions
|
2020-01-27 16:57:09 +01:00 |
|
|
|
0aed4ee893
|
my initial short for typechecking, still very unifinished tho
|
2020-01-21 00:21:54 +01:00 |
|
|
|
e5baad62e6
|
implement tests
|
2020-01-20 19:33:07 +01:00 |
|
Marvin Kaiser
|
d27df13ec1
|
added boolean operators
|
2020-01-20 16:01:25 +01:00 |
|
Marvin Kaiser
|
7af6565e07
|
Added more tests for while
|
2020-01-14 12:24:25 +01:00 |
|
Marvin Kaiser
|
3ca9fe4de1
|
Added automatic counting of successes/failures in tests
|
2020-01-14 12:15:20 +01:00 |
|
Marvin Kaiser
|
d2d50f6d4f
|
cleaned up test suit
|
2020-01-14 11:47:04 +01:00 |
|
Marvin Kaiser
|
be43cc9a77
|
implement for loops
|
2020-01-14 11:04:31 +01:00 |
|
Marvin Kaiser
|
e52ad061f9
|
Implemented do while loops
|
2020-01-13 16:43:38 +01:00 |
|
Marvin Kaiser
|
02e57b7db5
|
Added tests for self-altering expressions
|
2020-01-13 16:17:20 +01:00 |
|
Marvin Kaiser
|
bd4ae1d605
|
Added while loop
|
2020-01-13 16:08:44 +01:00 |
|
Marvin Kaiser
|
079cdf4969
|
Implemented != expression
|
2019-12-20 09:09:01 +01:00 |
|
Marvin Kaiser
|
a79b7c9362
|
Implemented boolean expressions
|
2019-12-20 09:01:03 +01:00 |
|
Marvin Kaiser
|
9f68e6b8d1
|
Added test for recursive calls
|
2019-12-17 19:09:09 +01:00 |
|
Marvin Kaiser
|
08f486203b
|
Fix: Arguments that don't fit into registeres are passed in the incorrect order
|
2019-12-17 17:22:44 +01:00 |
|
Marvin Kaiser
|
c8bca94ca8
|
Added tests that check that klang passes parameters to functions in the same way that gcc does it
|
2019-12-17 16:48:09 +01:00 |
|
Marvin Kaiser
|
d4dfe27bc0
|
Added error counting to tests. Tests return ERROR_FAILURE when not all test were successful
|
2019-12-17 16:13:04 +01:00 |
|