Karol Stasiak
|
7092f2a5de
|
Properly handle all integer literal sizes
|
2019-10-31 12:13:02 +01:00 |
|
Karol Stasiak
|
4214f1f6f5
|
Tests for recent parser improvements
|
2019-10-31 12:12:10 +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
|
6fddf1cf0d
|
Improve documentation
|
2019-10-24 15:09:11 +02:00 |
|
Karol Stasiak
|
4191eec7f8
|
Add -Xd and -Xr command line options
|
2019-10-24 00:48:32 +02:00 |
|
Karol Stasiak
|
7fe32ca564
|
Z80: Improve optimizations
|
2019-10-24 00:48:16 +02:00 |
|
Karol Stasiak
|
72f8806c54
|
6502: Word addition optimizations
|
2019-10-23 12:56:48 +02:00 |
|
Karol Stasiak
|
010647682a
|
Fix the sieve benchmark
|
2019-10-23 11:52:42 +02:00 |
|
Karol Stasiak
|
9beac45e99
|
Define Constant.WordZero
|
2019-10-23 11:03:55 +02:00 |
|
Karol Stasiak
|
6db5e09723
|
Optimize for-to loops
|
2019-10-22 23:38:07 +02:00 |
|
Karol Stasiak
|
e1107b164f
|
Remove debugging messages
|
2019-10-22 18:21:47 +02:00 |
|
Karol Stasiak
|
3873736424
|
Optimize pointer indexing
|
2019-10-22 18:19:55 +02:00 |
|
Karol Stasiak
|
b7300616d1
|
6502: Faster accesses to small arrays
|
2019-10-22 16:35:17 +02:00 |
|
Karol Stasiak
|
d36b83421c
|
6502: Fix an optimization bug
|
2019-10-22 16:34:39 +02:00 |
|
Karol Stasiak
|
5ad6da2be4
|
6502: Optimize hi(nonet(...))
|
2019-10-22 16:34:13 +02:00 |
|
Karol Stasiak
|
ec96f16482
|
Improve and fix 16-bit comparisons
|
2019-10-22 13:54:30 +02:00 |
|
Karol Stasiak
|
ff46129c4e
|
#11 Fix allocation of variables in functions with trampolines
|
2019-10-22 01:39:11 +02:00 |
|
Karol Stasiak
|
f65651f2c0
|
#6 Improve error messages related to semicolons
|
2019-10-22 01:06:51 +02:00 |
|
Karol Stasiak
|
09294307fd
|
#8 Standardise the behaviour of for loops.
|
2019-10-22 00:41:34 +02:00 |
|
Karol Stasiak
|
2d50e4fa73
|
Make the -o option optional
|
2019-10-22 00:14:38 +02:00 |
|
Karol Stasiak
|
9e8b889533
|
#10 Fix removal of unused global structs and preserve reads in assignments from volatiles to unuseds.
|
2019-10-22 00:05:44 +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
|
4fc0b98561
|
6809: Support break and continue
|
2019-10-16 22:43:16 +02:00 |
|
Karol Stasiak
|
1ec816496d
|
Allow adding fixed deltas to some outputs; #7 Fix Lynx output
|
2019-10-16 22:42:58 +02:00 |
|
Karol Stasiak
|
927c39585c
|
Fix non-compiling code
An incremental compiler can be both a blessing and a curse
|
2019-10-15 00:51:16 +02:00 |
|
Karol Stasiak
|
e9990dc9c1
|
Allow semicolons in certain positions. Partially implements #6
|
2019-10-08 18:45:11 +02:00 |
|
Karol Stasiak
|
e19ac75350
|
6809: Some optimizations
|
2019-10-08 15:11:22 +02:00 |
|
Karol Stasiak
|
f08caa0b7a
|
6809: Various improvements
|
2019-10-08 01:43:09 +02:00 |
|
Karol Stasiak
|
c61d044226
|
Document keywords and handle them better
|
2019-10-08 01:33:55 +02:00 |
|
Karol Stasiak
|
f251292dd0
|
6502: Few minor boolean conversion optimizations
|
2019-10-01 00:50:21 +02:00 |
|
Karol Stasiak
|
1185b1c0bb
|
Better removal of unused functions
|
2019-10-01 00:46:41 +02:00 |
|
Karol Stasiak
|
d1058b6223
|
ZX Spectrum Next CPU support
|
2019-10-01 00:46:15 +02:00 |
|
Karol Stasiak
|
f7dd78e4c0
|
Byte comparison optimizations
|
2019-10-01 00:45:14 +02:00 |
|
Karol Stasiak
|
5837c6fd7d
|
Add custom segment layout support
|
2019-09-25 01:17:52 +02:00 |
|
Karol Stasiak
|
2a21dd8e2e
|
Add debugging of constness
|
2019-09-25 01:17:23 +02:00 |
|
Karol Stasiak
|
2ff86889db
|
Fix sign extension in arithmetic promotions again.
|
2019-09-24 17:37:06 +02:00 |
|
Karol Stasiak
|
35bf4ba790
|
Fix returning constant bools
|
2019-09-24 00:24:17 +02:00 |
|
Karol Stasiak
|
680e94c3b7
|
Add zx80, zx81 and iso15 encodings
|
2019-09-20 19:41:53 +02:00 |
|
Karol Stasiak
|
d38405f467
|
Fix signed constants and word-sbyte subtraction
|
2019-09-20 18:33:41 +02:00 |
|
Karol Stasiak
|
b74974dbdd
|
Various tweaks for Lynx
|
2019-09-20 01:43:58 +02:00 |
|
Karol Stasiak
|
1d825a0c99
|
Fix parsing of zp_bytes
|
2019-09-18 01:03:13 +02:00 |
|
Karol Stasiak
|
c45cf7d51d
|
Add KOI-7 N2 and MSX-BR encodings. Some encoding enhancements.
|
2019-09-18 00:09:37 +02:00 |
|
Karol Stasiak
|
b1e5176aff
|
Allow larger nontrivial constants
|
2019-09-16 22:48:46 +02:00 |
|
Karol Stasiak
|
457472080f
|
6502: Improve inlining of functions with lots of parameters.
|
2019-09-16 21:32:57 +02:00 |
|
Karol Stasiak
|
fa7844e0b8
|
6502: Optimize ROL/ROR before AND
|
2019-09-16 21:31:53 +02:00 |
|
Karol Stasiak
|
635870585e
|
Add unsigned 16-bit division
|
2019-09-15 19:47:19 +02:00 |
|
Karol Stasiak
|
a4f91eda03
|
6502: Fix arithmetic promotion bugs for function return values
|
2019-09-14 16:01:02 +02:00 |
|
Karol Stasiak
|
1d445ecdd1
|
Support sizeof on arrays. Preliminary Commander X16 support.
|
2019-09-14 03:37:24 +02:00 |
|
Karol Stasiak
|
6c4dc81c1b
|
Add the -R option
|
2019-09-14 02:40:03 +02:00 |
|
Karol Stasiak
|
3ce2249399
|
Add 16-bit multiplication
|
2019-09-04 21:17:06 +02:00 |
|
Karol Stasiak
|
e449b67a4a
|
Added encconv module.
|
2019-09-04 01:14:14 +02:00 |
|
Karol Stasiak
|
f3b5fe715c
|
Fix alias resolution during unused code elimination
|
2019-09-04 01:00:16 +02:00 |
|
Karol Stasiak
|
32df01be76
|
Allocators should allocate even the last byte in the segment
|
2019-09-02 23:23:51 +02:00 |
|
Karol Stasiak
|
0be52821d9
|
Add the {nullchar} escape sequence
|
2019-09-02 23:23:23 +02:00 |
|
Karol Stasiak
|
1f8ece007b
|
Add constants for segment bounds
|
2019-09-02 23:22:07 +02:00 |
|
Karol Stasiak
|
2159fc345f
|
Allow defining custom segment fill
|
2019-08-16 17:53:03 +02:00 |
|
Karol Stasiak
|
d91b35468e
|
Support non-decimal numbers in -D
|
2019-08-16 17:52:07 +02:00 |
|
Karol Stasiak
|
bcf403d269
|
Fix evaluation of constant expressions in assembly
|
2019-08-16 17:21:51 +02:00 |
|
Karol Stasiak
|
6b4236530d
|
Change fatal error message.
|
2019-08-16 01:11:03 +02:00 |
|
Karol Stasiak
|
785eb0780b
|
Fix cartridge targets
|
2019-08-16 01:09:03 +02:00 |
|
Karol Stasiak
|
1d530d896a
|
6809: Make some progress
|
2019-08-16 00:51:28 +02:00 |
|
Karol Stasiak
|
960d16fa18
|
Add nullchar constant, NULLCHAR feature, and vectrex encoding
|
2019-08-16 00:46:11 +02:00 |
|
Karol Stasiak
|
6b34ddf7f9
|
Some random stuff
|
2019-08-05 11:43:51 +02:00 |
|
Karol Stasiak
|
98553d56c0
|
Don't remove some important type casts
|
2019-08-04 17:16:01 +02:00 |
|
Karol Stasiak
|
127cd1b901
|
6502: Fix word multiplication by 0
|
2019-08-04 13:42:00 +02:00 |
|
Karol Stasiak
|
1a87929ad3
|
Fix TCO
|
2019-08-04 13:40:49 +02:00 |
|
Karol Stasiak
|
dfda9f9283
|
8080: Fix optimizations near ifs
|
2019-08-04 12:37:54 +02:00 |
|
Karol Stasiak
|
34254314a6
|
6502: Fix word division and byte multiplication
|
2019-08-04 00:05:35 +02:00 |
|
Karol Stasiak
|
f51f233571
|
Fix removing unused local variables
|
2019-08-03 20:46:01 +02:00 |
|
Karol Stasiak
|
dcbf54872b
|
Fix various compiler crashes
|
2019-08-03 20:34:02 +02:00 |
|
Karol Stasiak
|
778d04ce21
|
6502: Fix sign extension when type casting
|
2019-08-03 20:33:49 +02:00 |
|
Karol Stasiak
|
d760683ea5
|
6502: Add tests for byte shifting
|
2019-08-03 20:33:15 +02:00 |
|
Karol Stasiak
|
515da587d8
|
6502: Fix stack overflow
|
2019-08-03 20:32:45 +02:00 |
|
Karol Stasiak
|
48220f739d
|
8080: Fix byte division and simplify byte multiplication
|
2019-08-03 20:32:26 +02:00 |
|
Karol Stasiak
|
9d78385cba
|
6502: Fix byte shifting
|
2019-08-03 20:31:27 +02:00 |
|
Karol Stasiak
|
10c76dcc9c
|
Z80: Fix optimizations around multiplication
|
2019-08-03 16:42:40 +02:00 |
|
Karol Stasiak
|
9962a8344a
|
6502: Fix booleans
|
2019-08-02 00:17:24 +02:00 |
|
Karol Stasiak
|
bb63a73f15
|
Improve interprocedural optimizations
|
2019-08-01 19:11:35 +02:00 |
|
Karol Stasiak
|
35fbdcdbb1
|
6502: Fix compilation of some index expressions
|
2019-08-01 19:11:09 +02:00 |
|
Karol Stasiak
|
51da5ab2c0
|
6502: optimize bitops on words
|
2019-08-01 13:27:03 +02:00 |
|
Karol Stasiak
|
7ded8376d8
|
Better removal of unused local variables
|
2019-07-31 23:46:08 +02:00 |
|
Karol Stasiak
|
a1eef66e5c
|
In case of overflows, dump stack
|
2019-07-31 23:36:22 +02:00 |
|
Karol Stasiak
|
31cbb3d42d
|
Fix optimized struct assignments (again)
|
2019-07-31 23:36:08 +02:00 |
|
Karol Stasiak
|
5c5bfa3f00
|
6502: Allow comparing words on stack
|
2019-07-31 22:32:41 +02:00 |
|
Karol Stasiak
|
a3a168b90b
|
Fix optimized struct assignments
|
2019-07-31 22:30:33 +02:00 |
|
Karol Stasiak
|
fe25978d14
|
6502: fix broken jump optimization
|
2019-07-31 22:30:04 +02:00 |
|
Karol Stasiak
|
0f9bb4fb56
|
Detect stack overflow during Z80 tests
|
2019-07-31 22:29:50 +02:00 |
|
Karol Stasiak
|
05c017e375
|
New encodings for MSX
|
2019-07-31 00:20:18 +02:00 |
|
Karol Stasiak
|
22b4776139
|
Enable pointers to functions with a word parameter (using trampolines on 6502)
|
2019-07-30 22:49:32 +02:00 |
|
Karol Stasiak
|
613ddcf9a4
|
Refactoring
|
2019-07-30 22:25:05 +02:00 |
|
Karol Stasiak
|
e2c8dad7a5
|
Fix
|
2019-07-30 15:36:18 +02:00 |
|
Karol Stasiak
|
251c6c5562
|
Assembly output should contain decoded text literals
|
2019-07-30 15:31:00 +02:00 |
|
Karol Stasiak
|
d3b72f5b42
|
Add petjp and petscrjp encodings. Allow lowercase letters in string literals on Apple II.
|
2019-07-30 15:10:29 +02:00 |
|
Karol Stasiak
|
943a56a30f
|
6502: Fix some cases of word additions; optimize bitmasking
|
2019-07-30 14:47:52 +02:00 |
|
Karol Stasiak
|
40b2e393da
|
Another fix for PETSCII
|
2019-07-30 14:35:22 +02:00 |
|
Karol Stasiak
|
5c3637e2ea
|
6502: Optimize some word operations
|
2019-07-30 01:40:13 +02:00 |
|