1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-03 12:07:26 +00:00
Commit Graph

1416 Commits

Author SHA1 Message Date
jespergravgaard
3aad07f4e1 Disabled constant loop head optimization by default (until the two known issues have been fixed.) 2019-08-25 22:21:58 +02:00
jespergravgaard
19e53bf6fd Implemented handling of expr-statements that do not produce a statement - this forces an assignment to a tmp-var (which means that it will be type-checked and more). Closes #276 2019-08-25 21:37:10 +02:00
jespergravgaard
c75e788fd1 Fixed problems casting strings to void*. Closes #281 2019-08-25 15:54:09 +02:00
jespergravgaard
bfe90bdf04 Better error when encountering continue in switch that is not inside loop. Closes #282 2019-08-25 15:01:04 +02:00
jespergravgaard
0fb90dc8b7 Fixed problem casting a constant pointer to char. Closes #288 2019-08-25 14:51:07 +02:00
jespergravgaard
56b0026452 Fixed error message when encountering non-integer number. Closes #286 2019-08-25 14:38:44 +02:00
jespergravgaard
0456279c94 Moved AsmFormat 2019-08-25 14:31:11 +02:00
jespergravgaard
5229b24ae7 better javadoc and names. 2019-08-25 14:19:37 +02:00
jespergravgaard
41fddfd25c Improved handling of ASM multi-labels. 2019-08-25 14:10:36 +02:00
jespergravgaard
d3fa1f3743 Cleaned up lexer/parser. Added test of using ASM mnemonic as C symbol name. 2019-08-25 13:53:54 +02:00
jespergravgaard
26e96d085a Centralized and optimized ASM name fixing. 2019-08-25 13:35:30 +02:00
jespergravgaard
87268abc2a Added modes to lexer. 2019-08-25 13:07:21 +02:00
jespergravgaard
cb7469baf3 Improved lexer/parser 2019-08-25 11:38:42 +02:00
jespergravgaard
c237c323f1 Improved lexer/parser 2019-08-25 11:26:30 +02:00
jespergravgaard
d9321907ea Separated lexer and parser in ANTLR parser. 2019-08-25 11:00:49 +02:00
jespergravgaard
91a7f0bb0d Implemented CParser, which handles imports at the token level. 2019-08-25 00:20:50 +02:00
jespergravgaard
f4032e6c84 Addes parser/lexer state ensuring that typedefs are recognized as types. Closes #269 2019-08-24 14:30:21 +02:00
jespergravgaard
bb53f0b51d Addes parser/lexer state ensuring that ASMREL labels does not get confused with negated struct references. Closes #266 2019-08-24 14:11:45 +02:00
jespergravgaard
5642c8d228 Added pointer ANDing test case. 2019-08-24 12:18:56 +02:00
jespergravgaard
5d6fbcb42c Improved static var usage. 2019-08-23 00:19:10 +02:00
jespergravgaard
03f4530da7 Implemented typedef logic using (static)members/actions . 2019-08-23 00:15:17 +02:00
jespergravgaard
0938fa2448 Added 2 fragments for Clay Cowgill 2019-08-22 23:14:27 +02:00
jespergravgaard
4c6014e448 Added 2 fragments for Clay Cowgill 2019-08-22 23:12:33 +02:00
jespergravgaard
a3b3eadeef Moved test. 2019-08-22 13:18:01 +02:00
jespergravgaard
8885aa0fbd Succesfully made proof-of-concept for distinguishing type identifiers (typedefs) from other identifiers. #269 2019-08-22 13:05:29 +02:00
jespergravgaard
2de0744639 Fixed switch test 2019-08-22 12:20:37 +02:00
jespergravgaard
a78ecc0e42 Added test for 32bit long pointer for 45GS02. 2019-08-22 12:15:33 +02:00
jespergravgaard
cda6beb5e0 Added missing fragments for Clay Cowgill 2019-08-22 11:36:43 +02:00
jespergravgaard
5923245630 Added missing fragments for Paul Nelsen 2019-08-22 11:13:52 +02:00
jespergravgaard
1d5cb644ad Added missing fragment for Clay Cowgill 2019-08-22 10:47:40 +02:00
jespergravgaard
5bc38ae3c0 Added test for issue 2019-08-22 10:36:05 +02:00
jespergravgaard
50b4d2f24c Added missing fragment for smit1759/OS-smit1759 2019-08-22 10:25:44 +02:00
jespergravgaard
c70ac2f440 Fixed tests. 2019-08-22 01:51:32 +02:00
jespergravgaard
642f196786 Fixed switch without default. Closes #285 2019-08-22 01:01:01 +02:00
jespergravgaard
4ec3c6b369 Added test cases for problems #283 2019-08-22 00:47:44 +02:00
jespergravgaard
ea7df4761f Added test cases for problems #199 #281 #282 2019-08-21 20:04:11 +02:00
jespergravgaard
8bbddf5651 Fixed problem with switch not working unless it is inside a loop. Closes #280 2019-08-21 17:33:11 +02:00
jespergravgaard
dd5c06b9f9 Added missing fragments. Closes #277 2019-08-21 17:18:16 +02:00
jespergravgaard
124f2b4d85 Added missing fragment. Closes #278 2019-08-21 16:51:18 +02:00
jespergravgaard
45c3ebf566 Made test pass. 2019-08-21 16:34:02 +02:00
jespergravgaard
8743921cd9 Added Typedef parser and test-case that illustrates the typedef ambiguity problem. #269 2019-08-21 10:13:15 +02:00
jespergravgaard
67a9880b94 Added example of Using function as error does not give an error - instead silently throws away the statement. #276 2019-08-21 07:06:11 +02:00
jespergravgaard
d42c7250af Fixed tests. 2019-08-20 00:26:04 +02:00
jespergravgaard
f4777a5876 Added interrupt type hardware_stack which uses the stack for saving the registers. Closes #256 2019-08-20 00:08:49 +02:00
jespergravgaard
733751dbe3 Added parenthesis to fragments when derefs are nested. Closes #270 2019-08-19 23:54:01 +02:00
jespergravgaard
e3427796d3 Added examples of 2 problems 2019-08-19 08:42:48 +02:00
jespergravgaard
0185370732 Fixed problem where code after return resulted in NPE. Closes #273 2019-08-18 23:44:01 +02:00
jespergravgaard
19c0637f1e Fixed relative labels in KickAss 5.9 #272
ASM  now uses literal encoded chars for better readability #245
2019-08-18 23:18:53 +02:00
jespergravgaard
21e4638857 Upgraded to KickAsm 5.9. Closes #272 2019-08-18 22:12:02 +02:00
jespergravgaard
65dffdbdea Added upport for continue inside switch statement. Closes #170 2019-08-18 21:55:21 +02:00