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
|
88b48f58c9
|
fix string init error about string multiplication. fixes #209
|
2026-01-30 17:36:48 +01:00 |
|
Irmen de Jong
|
78d6d2d59a
|
breaking change: renamed R0R1_32 etc combined register parameters to just R0R1, R2R3, etc etc (_32 suffix is removed to make it more consistent with the other existing register names)
|
2026-01-07 21:56:16 +01:00 |
|
Irmen de Jong
|
71b66f506d
|
fix asmsub register order crash when using longs + something else
|
2025-12-28 01:08:10 +01:00 |
|
Irmen de Jong
|
e57d9f59a2
|
fix long 0 argument to asmsub with 32-bits combined virtual register to pass it in
|
2025-12-21 22:23:17 +01:00 |
|
Irmen de Jong
|
b38fff76e9
|
hack to work around struct name prefix inconsistency
see github issue 198
|
2025-12-03 21:07:08 +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
|
f4f34fc2ed
|
added symboltable into CompilationResult because it might be useful to inspect in tests
|
2025-10-07 00:26:43 +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
|
a611406020
|
IR: add compilerversion attribute to p8ir file
|
2025-09-30 22:07:04 +02:00 |
|
Irmen de Jong
|
82267b3f56
|
Merge branch 'master' into structs
# Conflicts:
# compiler/test/codegeneration/TestVariables.kt
# docs/source/_static/symboldumps/skeletons-c128.txt
# docs/source/_static/symboldumps/skeletons-c64.txt
# docs/source/_static/symboldumps/skeletons-cx16.txt
# docs/source/_static/symboldumps/skeletons-pet32.txt
# docs/source/_static/symboldumps/skeletons-virtual.txt
# docs/source/todo.rst
# examples/test.p8
|
2025-07-26 12:43:13 +02:00 |
|
Irmen de Jong
|
67fb45a55b
|
don't produce invalid boolean initalization error. Fixes #173
|
2025-07-26 12:35:23 +02:00 |
|
Irmen de Jong
|
817f4f8e7c
|
Merge branch 'master' into structs
# Conflicts:
# compiler/src/prog8/compiler/Compiler.kt
# compiler/src/prog8/compiler/astprocessing/AstExtensions.kt
# compiler/src/prog8/compiler/astprocessing/StatementReorderer.kt
# docs/source/todo.rst
# examples/test.p8
|
2025-07-24 22:27:29 +02:00 |
|
Irmen de Jong
|
866313209b
|
fixed zp vars 0 initialization
|
2025-07-24 00:17:31 +02:00 |
|
Irmen de Jong
|
9f6106452e
|
revert & to untyped pointer, added && for typed pointer address-of
|
2025-07-07 16:17:07 +02:00 |
|
Irmen de Jong
|
08b314c37d
|
IR: fix various register type mismatches
|
2025-05-28 22:15:07 +02:00 |
|
Irmen de Jong
|
db6c887795
|
Merge branch 'master' into structs
# Conflicts:
# compiler/test/ast/TestVariousCompilerAst.kt
|
2025-05-21 00:27:45 +02:00 |
|
Irmen de Jong
|
cf7bea0985
|
cleanup RTS insertion and ast postprocessing before assembly generation
|
2025-05-21 00:19:50 +02:00 |
|
Irmen de Jong
|
50650b966b
|
repeat countervars again in zeropage if possible, fix pointer arithmetic error
|
2025-05-17 14:18:56 +02:00 |
|
Irmen de Jong
|
05dad5ab5f
|
cleanup 6502 pointer usage checks
|
2025-05-16 21:44:28 +02:00 |
|
Irmen de Jong
|
86eef7039f
|
@(..) now also accepts pointer to ubyte address
|
2025-05-15 20:07:02 +02:00 |
|
Irmen de Jong
|
d11386ef26
|
type check tuning
|
2025-05-04 23:23:21 +02:00 |
|
Irmen de Jong
|
40952a788a
|
PtSub: params and returns now as children (in PtSignature node) for easier Ast walking
PtPointerDeref: same but for its start identifier
|
2025-05-02 00:41:42 +02:00 |
|
Irmen de Jong
|
b920d553a0
|
make address-of dereference work
|
2025-05-02 00:41:42 +02:00 |
|
Irmen de Jong
|
5e2d0d0dfc
|
fix param order of AssignTarget
|
2025-05-02 00:41:42 +02:00 |
|
Irmen de Jong
|
e328520588
|
initial struct and typed pointer support
|
2025-05-02 00:41:40 +02:00 |
|
Irmen de Jong
|
8debc42381
|
slightly stricter assignment type compatibility checking
|
2025-04-24 15:05:35 +02:00 |
|
Irmen de Jong
|
d2cc7ccdfa
|
remove redundant variable=0 initializations (BSS clear takes care of them)
|
2025-04-23 14:45:38 +02:00 |
|
Irmen de Jong
|
5a7bc04816
|
update docs about library jump table
|
2025-04-19 13:49:03 +02:00 |
|
Irmen de Jong
|
3770a4fe0c
|
easier datatype notation by just using the type objects directly
|
2025-03-18 23:33:04 +01:00 |
|
Irmen de Jong
|
7668a3c660
|
use kotest tempdir instead of hardcoded output directory
|
2025-03-14 01:18:33 +01:00 |
|
Irmen de Jong
|
220ab773aa
|
fix asmgen error when assigning address of split word array without explicit adressof syntax
|
2025-03-06 23:20:42 +01:00 |
|
Irmen de Jong
|
e55ce5504e
|
added %option romable to enable romable mode, but only generate a bunch of warnings for problematic codegeneration atm
|
2025-02-20 23:40:44 +01:00 |
|
Irmen de Jong
|
49982b49b6
|
extracting neo and atari compiler targets into configuration files instead
|
2025-02-12 13:58:34 +01:00 |
|
Irmen de Jong
|
9e79722a7f
|
fix rangeexpression value type casting
|
2025-02-11 22:23:07 +01:00 |
|
Irmen de Jong
|
5b58e5b158
|
fix unit tests
|
2025-02-02 21:52:33 +01:00 |
|
Irmen de Jong
|
a106c88054
|
unit test for %output library, and docs.
|
2025-01-27 23:26:21 +01:00 |
|
Irmen de Jong
|
7a13f57ab0
|
enforce variable init values are only strings or arrays
|
2025-01-20 01:25:17 +01:00 |
|
Irmen de Jong
|
2ab2130000
|
renamed "intermediate AST" to "simplified AST"
|
2025-01-10 20:33:44 +01:00 |
|
Irmen de Jong
|
e5ff3c1ff3
|
fix compiler crash when using strings in if-expression. Remove harmless info message.
|
2025-01-06 01:34:42 +01:00 |
|
Irmen de Jong
|
37c2c1bf0b
|
support &, &< and &> on array elements from split word arrays, not just on the array as a whole
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
056c0a24d9
|
better way of doing BIT instructions
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
827df04b32
|
IR: BIT instruction added
|
2024-12-30 00:00:31 +01:00 |
|
Irmen de Jong
|
529ea5bf58
|
added coroutines library and multitasking example. Added sys.push_returnaddress().
|
2024-12-26 00:57:39 +01:00 |
|
Irmen de Jong
|
512ddd1694
|
cleanups
|
2024-12-20 22:59:20 +01:00 |
|
Irmen de Jong
|
02f3f5d0f5
|
@split is back to force splitting of word arrays
|
2024-12-16 14:51:32 +01:00 |
|
Irmen de Jong
|
80d88b3c61
|
fix many split array issues
|
2024-12-15 17:08:07 +01:00 |
|
Irmen de Jong
|
28c721fa7d
|
add a split-array version for word containment check
|
2024-12-15 13:45:47 +01:00 |
|
Irmen de Jong
|
8f799567cf
|
make word arrays split by default (w.i.p.)
|
2024-12-15 08:12:34 +01:00 |
|