Karol Stasiak
1e4a193741
Optimization hints
2021-03-15 00:44:14 +01:00
Karol Stasiak
521b73d0d3
Array fields for structs and unions (see #87 )
2021-02-22 23:23:00 +01:00
Karol Stasiak
9c7e946f4c
Allow labels in assembly on the same line (see #101 )
2021-02-03 09:49:17 +01:00
Karol Stasiak
600bfce0c1
Allow new lines after =
2021-01-13 14:38:59 +01:00
Karol Stasiak
7962a1d083
Point at the end of the line if the error is something missing at the end of the line
2020-12-01 03:21:04 +01:00
Karol Stasiak
52c9da36b8
Fix GraalVM NPE when getting a character name
2020-12-01 03:20:31 +01:00
Karol Stasiak
cba145d674
Better error messages for variable definitions in macros ( #77 )
2020-12-01 03:19:38 +01:00
Karol Stasiak
97c7d0ffed
Basic groundwork for optimization hint support
2020-11-18 22:37:58 +01:00
Karol Stasiak
c0eae29a41
Minor compilation speed optimization
2020-09-21 00:15:16 +02:00
Karol Stasiak
e09db3d132
Local labels in assembly
2020-09-01 22:00:07 +02:00
Karol Stasiak
b9cd18c3c8
Improve error message for multiple operators at the same priority
2020-08-14 22:28:50 +02:00
Karol Stasiak
fccbf7df7d
Add dollar syntax for decimal operators, disallow identifiers ending in a dollar sign.
2020-08-14 02:22:13 +02:00
Karol Stasiak
89ff89bc48
Some more defensive programming
2020-07-31 17:11:30 +02:00
Karol Stasiak
cf707cc31f
Protect against confusable non-ASCII characters
2020-07-31 17:08:44 +02:00
Karol Stasiak
d5367cc1fe
for
loops over arrays
2020-07-24 19:12:19 +02:00
Karol Stasiak
a2c49a1f89
Add manual type alignment. 6502: Optimize multiplications by constants.
2020-07-18 01:15:33 +02:00
Karol Stasiak
718245c56a
Module templates
2020-06-03 23:13:17 +02:00
Karol Stasiak
7f9bd18bdd
The big text encoding overhaul
2020-05-01 01:31:54 +02:00
Karol Stasiak
78fe0e37bb
Allow importing modules from subdirectories. Move platform definitions
2020-04-27 12:42:18 +02:00
Karol Stasiak
5df695f2c2
Add support for Pascal-style strings
2020-04-04 00:45:09 +02:00
Karol Stasiak
63ff28e94e
Changes to macros and parameter list syntax:
...
* non-asm macros can now take `const` and `call` parameters
* register parameters to asm functions and macros can be given names if annotated explicitly
2020-03-30 19:23:48 +02:00
Karol Stasiak
d478f3504f
Const-pure functions
2020-03-19 23:53:16 +01:00
Karol Stasiak
2eb8ef53ca
Put almost all warnings behind internal flags
2020-03-17 21:08:43 +01:00
Karol Stasiak
6e65cd1902
Better error messages when failing to parse array definitions ( fixes #45 )
2020-02-12 01:07:14 +01:00
Karol Stasiak
0333b339ca
Allow omitting length in file
array initalizers ( fixes #35 )
2020-01-10 18:37:49 +01:00
Karol Stasiak
b2dd4eadd4
Start work on supporting member arrays
2019-12-30 11:50:18 +01:00
Karol Stasiak
3b78206c35
Fix errors about invalid function flags
2019-11-13 18:39:27 +01:00
Karol Stasiak
088688122e
#6 Improve semicolon comment parsing
2019-11-04 14:26:01 +01:00
Karol Stasiak
ec52963b46
Fix literals
2019-11-03 22:25:08 +01:00
Karol Stasiak
7092f2a5de
Properly handle all integer literal sizes
2019-10-31 12:13:02 +01:00
Karol Stasiak
33405ffcd6
Better handling for invalid statements inside segment blocks
2019-10-31 12:11:05 +01:00
Karol Stasiak
e3b3c36924
Parse function and variable flags correctly
2019-10-31 12:10:18 +01:00
Karol Stasiak
258b17beb0
Allow unary minus ( fixes #18 )
2019-10-31 12:09:20 +01:00
Karol Stasiak
1ddee6155d
Allow for comments at the end of the file ( fixes #15 )
2019-10-31 12:08:45 +01:00
Karol Stasiak
f65651f2c0
#6 Improve error messages related to semicolons
2019-10-22 01:06:51 +02:00
Karol Stasiak
f5b6d9999c
#9 Support astral characters in UTF-8
2019-10-18 11:01:31 +02:00
Karol Stasiak
3a6790e47a
Add UTF-8 and UTF-16 encodings #9
2019-10-17 23:23:57 +02:00
Karol Stasiak
e9990dc9c1
Allow semicolons in certain positions. Partially implements #6
2019-10-08 18:45:11 +02:00
Karol Stasiak
c61d044226
Document keywords and handle them better
2019-10-08 01:33:55 +02:00
Karol Stasiak
d38405f467
Fix signed constants and word-sbyte subtraction
2019-09-20 18:33:41 +02:00
Karol Stasiak
960d16fa18
Add nullchar constant, NULLCHAR feature, and vectrex encoding
2019-08-16 00:46:11 +02:00
Karol Stasiak
b68e4b67c8
Better support for big-endian systems
2019-07-29 22:51:08 +02:00
Karol Stasiak
4b25ce2d8c
Pointers to fields of array elements
2019-07-24 00:14:27 +02:00
Karol Stasiak
12d32594d1
Allow a line break after an operator
2019-07-19 15:46:19 +02:00
Karol Stasiak
20f4baf2b2
Allow setting segments for multiple declarations at once
2019-07-17 20:51:34 +02:00
Karol Stasiak
f3dcfc78ba
Dijkstra wept
2019-07-15 02:06:23 +02:00
Karol Stasiak
6d499f3623
Arrays with elements larger than one byte
2019-07-10 16:51:12 +02:00
Karol Stasiak
62f79388bd
Slowly move towards removing the farword
alias
2019-07-09 22:03:53 +02:00
Karol Stasiak
8a5672c2dc
Allow declaring multiple variables in one line
2019-07-08 19:24:11 +02:00
Karol Stasiak
25c440f17d
Add local arrays
2019-06-24 22:32:29 +02:00