Irmen de Jong
|
77e376f6bf
|
romsub @bank now also accepts a variable so the bank can be dynamic
|
2024-11-06 00:02:36 +01:00 |
|
Irmen de Jong
|
85e87dfe2e
|
consolidate @rombank and @rambank into just @bank
|
2024-11-03 21:15:11 +01:00 |
|
Irmen de Jong
|
155896c4c7
|
added @rombank and @rambank bank number tags on romsubs
on cx16 and c128 targets the compiler then automatically inserts a CALLFAR instead of a regular JSR to automatically do the bank switching.
|
2024-11-03 18:19:31 +01:00 |
|
Irmen de Jong
|
178e60bba0
|
fix ast source gen for romsub
|
2024-11-03 15:04:53 +01:00 |
|
Irmen de Jong
|
3b798097b9
|
added memtop to machine definition and asm source code check
added %memtop directive
|
2024-11-02 00:59:07 +01:00 |
|
Irmen de Jong
|
64ea72ed4d
|
tweak plot
|
2024-11-01 21:56:27 +01:00 |
|
Irmen de Jong
|
925b9d845d
|
fix split array possible compiler loop (due to wrong datatype replacement)
|
2024-11-01 19:18:03 +01:00 |
|
Irmen de Jong
|
eeeb8d81f4
|
merge now also allows monkeypatching if signature is 100% identical
|
2024-10-30 01:15:56 +01:00 |
|
Irmen de Jong
|
518e5a30c2
|
slight parser rule tweak
|
2024-10-29 23:18:17 +01:00 |
|
Irmen de Jong
|
bbba4b3d60
|
new block merge semantics and implementation
|
2024-10-29 22:57:54 +01:00 |
|
Irmen de Jong
|
a82f211f9a
|
added alias statement
|
2024-10-28 00:36:10 +01:00 |
|
Irmen de Jong
|
504c80cddf
|
fix parser rule for identifiers (void is a keyword, not an identifier)
|
2024-10-27 15:57:27 +01:00 |
|
Irmen de Jong
|
c9535049c8
|
%align directive and @align64
|
2024-10-26 20:58:35 +02:00 |
|
Irmen de Jong
|
1cd754f05d
|
adding @alignword/page on individual variables
|
2024-10-26 17:00:38 +02:00 |
|
Irmen de Jong
|
1e82483152
|
ast printer correctly prints ifexpression
|
2024-10-22 21:14:55 +02:00 |
|
Irmen de Jong
|
6e2fd41a8b
|
ast printer correctly prints unroll and continue
|
2024-10-22 21:14:26 +02:00 |
|
Irmen de Jong
|
9851d14fb9
|
added if expression: ubyte a = if b>0 44 else 55
it doesn't generate the best code yet, like regular ifs do.
|
2024-10-19 15:34:04 +02:00 |
|
Irmen de Jong
|
ce7d094adb
|
Zig-like "defer" to clean up stuff when leaving the scope of the current routine.
|
2024-10-18 01:30:20 +02:00 |
|
Irmen de Jong
|
a0cf1889a3
|
omit more redundant 0-initializations ("stz's")
|
2024-10-17 22:51:39 +02:00 |
|
Irmen de Jong
|
fa5479ee5f
|
fix ast printing of arrays with duplicate elements
|
2024-10-13 04:30:46 +02:00 |
|
Irmen de Jong
|
ed09dd4e9e
|
improve automatic type conversions for return values, fixes #155
|
2024-10-09 20:04:05 +02:00 |
|
Irmen de Jong
|
7c69d38588
|
scan all asmsubs to see if another subroutine is referenced. Fixes #153
|
2024-10-07 20:39:49 +02:00 |
|
Irmen de Jong
|
fff0d741c3
|
improved parsing of "not in" operator, and [] array signature (allow space)
|
2024-10-02 19:06:20 +02:00 |
|
Irmen de Jong
|
a6107fcfdf
|
taking the address of a romsub is now the constant value of said romsub's declared address
|
2024-09-29 23:53:39 +02:00 |
|
Irmen de Jong
|
df35aa7942
|
added (experimental) compression library
|
2024-09-29 18:59:53 +02:00 |
|
Irmen de Jong
|
4c843571ea
|
fix syntax error check for missing return statement
|
2024-09-26 01:52:33 +02:00 |
|
Irmen de Jong
|
5cda750e5e
|
improve error message for undefined symbol in when choices
|
2024-09-18 23:00:03 +02:00 |
|
Irmen de Jong
|
cac4c1eb1e
|
improve callgraph unused subroutine check for routines called from inline asm
|
2024-09-16 21:49:30 +02:00 |
|
Irmen de Jong
|
0d3ad80659
|
retain type of consts better to avoid precision loss
this also fixed a difference in const calculation where the result could differ if you were using optimzations or not.
|
2024-09-14 21:06:21 +02:00 |
|
Irmen de Jong
|
aba1a73e28
|
actually use any @zp etc tags on subroutine parameters
|
2024-09-14 17:42:13 +02:00 |
|
Irmen de Jong
|
29dd758302
|
Fix compiler crash in for loops with just 1 iteration
|
2024-09-05 21:26:46 +02:00 |
|
Irmen de Jong
|
2c2ae64194
|
replace java Stack by kotlin ArrayDeque
|
2024-09-02 00:15:28 +02:00 |
|
Irmen de Jong
|
8f6eaeac2c
|
half width katakana conversion
|
2024-08-21 18:51:34 +02:00 |
|
Irmen de Jong
|
453e8bd0a0
|
update kotlin and antlr libs
|
2024-08-19 12:47:18 +02:00 |
|
Irmen de Jong
|
c9a4235669
|
update to kotlin 2.0, fix several code style issues
|
2024-06-04 01:00:46 +02:00 |
|
Irmen de Jong
|
0dc50a93a4
|
added @nozp variable flag
|
2024-05-21 21:53:58 +02:00 |
|
Irmen de Jong
|
fda8e61be4
|
give better error when using @split wrong
|
2024-05-20 21:51:07 +02:00 |
|
Irmen de Jong
|
c719e274d5
|
java version tweaks
|
2024-05-18 20:25:44 +02:00 |
|
Irmen de Jong
|
4a710ecdfc
|
cleanups
|
2024-05-17 18:48:04 +02:00 |
|
Irmen de Jong
|
7915dda35f
|
update libraries
|
2024-05-12 03:02:54 +02:00 |
|
Irmen de Jong
|
2675623aea
|
fix optimization ast parent linkage problem
|
2024-04-16 23:27:22 +02:00 |
|
Irmen de Jong
|
4d37581694
|
fix the symbol lookup error lsb(a) when a is in a multi vardecl.
|
2024-04-11 00:51:08 +02:00 |
|
Irmen de Jong
|
53df0eb707
|
cleanups
|
2024-04-10 22:04:03 +02:00 |
|
Irmen de Jong
|
8db7aa07bd
|
added (autogenerated) symbol skeleton files to the docs
|
2024-04-10 19:58:15 +02:00 |
|
Irmen de Jong
|
7a6f2ecc8c
|
add symboldumps to doc makefile
|
2024-04-09 19:53:36 +02:00 |
|
Irmen de Jong
|
2aae46d632
|
added -dumpsymbols option to print a dump of all the variables and subroutine signatures
|
2024-04-09 19:19:13 +02:00 |
|
Irmen de Jong
|
6ed9899dc7
|
smarter desugaring of ubyte x,y
|
2024-04-07 23:36:46 +02:00 |
|
Irmen de Jong
|
731132d4b3
|
check number of result values in return statements
|
2024-04-05 02:13:31 +02:00 |
|
Irmen de Jong
|
641f6c05d8
|
allow 'void' as dummy assign target in multi-assignment statements
|
2024-03-31 23:43:26 +02:00 |
|
Irmen de Jong
|
788f6b44a6
|
antlr grammar now understands underscores in identifier names
|
2024-03-31 00:31:10 +01:00 |
|