Irmen de Jong
|
8592a3a200
|
use VarDecl builder instead of constructor
|
2026-04-19 02:26:50 +02:00 |
|
Irmen de Jong
|
930697dad5
|
using builder to improve massive lists of constructor params
|
2026-04-19 01:39:50 +02:00 |
|
Irmen de Jong
|
d3f19bb438
|
fix lacking checks for IO registers in asm optimizer, caused incorrect instruction removals
|
2026-04-11 18:01:57 +02:00 |
|
Irmen de Jong
|
db7edde2aa
|
report multiple parse errors at once.
grammar rules improvements.
|
2026-04-09 07:06:03 +02:00 |
|
Irmen de Jong
|
04a8181c05
|
fix error when assigning str to ^^ubyte in multi-value assign
|
2026-04-05 12:26:20 +02:00 |
|
Irmen de Jong
|
e6c26587d6
|
improve Position accuracy
|
2026-04-03 03:42:17 +02:00 |
|
Irmen de Jong
|
15bf4c7692
|
unit test helpers refactoring
|
2026-03-31 05:50:30 +02:00 |
|
Irmen de Jong
|
f38c701658
|
some support for inlining multi-value returns (where there are no function parameters to deal with)
|
2026-03-31 04:42:34 +02:00 |
|
Irmen de Jong
|
5330069b53
|
disallow weird sizeof argument types
|
2026-03-29 09:50:13 +02:00 |
|
Irmen de Jong
|
bb907aa2af
|
fix chained aliasing errors
|
2026-03-18 21:52:42 +01:00 |
|
Irmen de Jong
|
c291d7d4a8
|
const memory() support in struct initializers
|
2026-03-18 04:16:05 +01:00 |
|
Irmen de Jong
|
d2633187a6
|
more work on making memory() const (6502)
|
2026-03-18 02:57:59 +01:00 |
|
Irmen de Jong
|
decfbfc8cc
|
allow float constants even without float option enable
|
2026-03-15 22:46:35 +01:00 |
|
Irmen de Jong
|
04910ffbc0
|
add enum syntax (sugar for list of const decls)
|
2026-03-10 20:33:43 +01:00 |
|
Irmen de Jong
|
a326c6f079
|
adding multivalue vardecls and assignments
|
2026-03-03 00:06:48 +01:00 |
|
Irmen de Jong
|
9736ac19d1
|
implementing multiple return values for builtin functions
|
2026-02-22 19:54:21 +01:00 |
|
Irmen de Jong
|
093be9f2dd
|
sys.push(), sys.pop() etc etc are now builtin functions again push() pop() to avoid storing value in temporary variables
this means that all of the syslib.p8 library files no longer contain all those stack related asmsubs
|
2026-02-21 02:11:34 +01:00 |
|
Irmen de Jong
|
07be7f0154
|
fix long argument @R0R1 register usage in regular subroutines
|
2026-02-15 14:54:47 +01:00 |
|
Irmen de Jong
|
5eb873b722
|
conv.str2long() added. alias problems detected.
|
2026-02-12 00:38:42 +01:00 |
|
Irmen de Jong
|
d6c8fc0c61
|
alias refactorings
|
2026-02-10 21:08:35 +01:00 |
|
Irmen de Jong
|
ab98f4a5e2
|
fix charset encoding error with merge. Fixes #207
|
2026-01-24 16:13:11 +01:00 |
|
Irmen de Jong
|
e2276f000c
|
fix alias issue when it targeted multi variable declaration
|
2026-01-18 19:48:37 +01:00 |
|
Irmen de Jong
|
6c61e1e5e8
|
fix alias target scoping problem
|
2026-01-17 21:39:39 +01:00 |
|
Irmen de Jong
|
a385412e70
|
smaller floats.internal_long_to_float()
|
2026-01-17 20:38:30 +01:00 |
|
Irmen de Jong
|
5cd175d54f
|
optimize successive additions/subtractions and multiplications (with const) into just a single add/sub, mul
optimize var = simpleexpression | var += expression --> var = simpleexpression + expression (for any augmented operator)
|
2026-01-11 01:30:04 +01:00 |
|
Irmen de Jong
|
cdb41f4352
|
better errors when multiplying string or array with bogus value
|
2026-01-09 18:43:41 +01:00 |
|
Irmen de Jong
|
23d3fb96b9
|
improved parsing rule of constdecl
|
2026-01-02 23:36:55 +01:00 |
|
Irmen de Jong
|
3a74931a61
|
c128: added c128.fast() and c128.slow() to enable/disable the CPU's 2 MHz mode.
Also added c128.is80(), set80(), set40() to check and set 40/80 column screen mode
|
2025-12-30 23:53:58 +01:00 |
|
Irmen de Jong
|
cc0425a2c4
|
detect circular aliases, also fix error message for aliased function call with wrong number of args
|
2025-12-26 15:04:55 +01:00 |
|
Irmen de Jong
|
c7052a183e
|
fixing wrong error message about wrong arg count with alias
|
2025-12-25 23:49:03 +01:00 |
|
Irmen de Jong
|
014a82a1ee
|
always put all struct types as .struct in asm code to make them all accessible for size and offsets
|
2025-12-10 21:39:44 +01:00 |
|
Irmen de Jong
|
6871561c09
|
fix parent node error in sizeof()
|
2025-12-01 23:21:14 +01:00 |
|
Irmen de Jong
|
afb458a7da
|
fix crash in long address-of
|
2025-11-08 22:24:37 +01:00 |
|
Irmen de Jong
|
833e463525
|
String indexing bound check now includes the terminating 0 character. Also fix negative indexes on strings.
fixes #190
|
2025-11-07 23:20:44 +01:00 |
|
Irmen de Jong
|
bc8ba252a5
|
made Position line, col, endcol all 1-based
added a precise (but slow) back face culling routine to the cobra-mk3 example
|
2025-11-05 00:25:43 +01:00 |
|
Irmen de Jong
|
c353dd40bf
|
put on..call jumplist in correct scope, fixes #197
|
2025-11-03 23:46:49 +01:00 |
|
Irmen de Jong
|
928ef6bbaa
|
fix on..call parse problem, also struct name cannot be a keyword
|
2025-11-03 21:21:07 +01:00 |
|
Irmen de Jong
|
b73c958c4a
|
ir immediate syntax fixes
|
2025-11-01 16:55:00 +01:00 |
|
Irmen de Jong
|
b02a8ed954
|
strings can no longer be assigned by-value. Use strings.copy() instead. Fixes #189
|
2025-10-31 19:22:40 +01:00 |
|
Irmen de Jong
|
2f07f41664
|
detect self-referencing aliases
|
2025-10-23 21:24:14 +02:00 |
|
Irmen de Jong
|
ebc738b132
|
'hack' to allow unsigned long constants such as $ffffffff to be assigned to longs without casts
|
2025-10-20 00:33:40 +02:00 |
|
Irmen de Jong
|
4ed92d71a7
|
remove "@split" tag
The default is to split word arrays. If you need your word array to not be split, use @nosplit on the array.
|
2025-10-05 17:06:21 +02:00 |
|
Irmen de Jong
|
4195e3968a
|
remove needless library module imports in unit tests
|
2025-10-05 13:10:02 +02:00 |
|
Irmen de Jong
|
3e07b6ca70
|
adding long arrays
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
86b52a1c5e
|
fix endless loop in rewriting type of const long values
|
2025-09-29 22:28:13 +02:00 |
|
Irmen de Jong
|
ad0c767ea8
|
%breakpoint! introduced to place after an assignment to make it parse correctly
|
2025-09-20 00:46:15 +02:00 |
|
Irmen de Jong
|
8b48a295b6
|
allow struct initializers to occur in array literals
|
2025-09-14 18:16:46 +02:00 |
|
Irmen de Jong
|
8bb927b483
|
fix compiler crash with on..call statement in nested scope
|
2025-09-13 06:44:49 +02:00 |
|
Irmen de Jong
|
fc5889ec0b
|
kotlin 2.2.10, kotest
|
2025-08-19 01:04:24 +02:00 |
|
Irmen de Jong
|
bc58a25765
|
allow sizeof(^^type) to return the size of a pointer
|
2025-08-02 11:33:15 +02:00 |
|