Irmen de Jong
|
4b4af9b527
|
no longer silently add RTS to asmsubs that don't have one
|
2024-10-27 13:49:00 +01:00 |
|
Irmen de Jong
|
8d9bc2f5ff
|
fixing all sorts of things about assigning arrays to arrays
|
2024-10-12 12:33:46 +02:00 |
|
Irmen de Jong
|
edc5a5a94f
|
improve data driven unit tests to use kotest withData()
|
2024-09-08 16:55:08 +02:00 |
|
Irmen de Jong
|
bb9d29b061
|
fix an array literal assignment type error for word arrays
|
2023-05-30 22:46:37 +02:00 |
|
Irmen de Jong
|
6aabbffc62
|
some cleanups
|
2023-02-09 02:34:18 +01:00 |
|
Irmen de Jong
|
bf0604133c
|
fix error in IR for inline asm and BSS vars.
|
2022-12-04 16:48:44 +01:00 |
|
Irmen de Jong
|
e94bf4c63c
|
replace rnd()/rndw() builtin functions by regular routines in math module
|
2022-10-22 17:02:43 +02:00 |
|
Irmen de Jong
|
f718f4251b
|
working on better encoding of romsub in new ast/vmtarget
|
2022-08-07 12:21:10 +02:00 |
|
Irmen de Jong
|
4644c9b621
|
got rid of GoSub ast node and codegen complexity related to that.
sometimes programs get smaller, sometimes bigger.
|
2022-08-07 03:24:20 +02:00 |
|
Irmen de Jong
|
8e1071aa89
|
fix compiler crashes: txt.chrout("a"), uword[] a = ["ls", subroutine] without & before subroutine.
|
2022-07-15 23:17:03 +02:00 |
|
Irmen de Jong
|
1e61d84fd1
|
vm: fix expression codegen for pointer indexing
|
2022-06-04 19:32:35 +02:00 |
|
Irmen de Jong
|
3961f26635
|
consolidating modules
|
2022-03-11 20:45:39 +01:00 |
|
Irmen de Jong
|
9a798360f4
|
introduced codeAst and codeCore modules to reduce dependencies
|
2022-03-10 22:38:16 +01:00 |
|
Irmen de Jong
|
251b6fcf70
|
reducing dependencies
|
2022-03-10 02:09:34 +01:00 |
|
Irmen de Jong
|
db7ae028b2
|
simplified CompilationResult a bit
|
2022-03-07 21:41:12 +01:00 |
|
Irmen de Jong
|
fc1c3c6808
|
working on altered pipe syntax
|
2022-03-02 20:58:38 +01:00 |
|
Irmen de Jong
|
b47fc1c020
|
renames of some Ast node classes
|
2022-02-11 00:34:36 +01:00 |
|
Irmen de Jong
|
10de7dc1f9
|
fixed the concurrent modification issue on zeropage when running unit tests in parallel, by not having machine targets be static objects
|
2022-02-06 21:29:06 +01:00 |
|
Irmen de Jong
|
8ae3bad6f7
|
fix rts in empty asmsub
|
2022-02-06 05:05:58 +01:00 |
|
Irmen de Jong
|
30e1c3307c
|
simplify SourceCode: just read the full text immediately. Also optimized imports.
|
2022-02-05 03:50:54 +01:00 |
|
Irmen de Jong
|
7dd7e562bc
|
pipes also as expressions, cleanup codegen, fix various typecasting issues
|
2022-01-08 13:45:19 +01:00 |
|
Irmen de Jong
|
0feeb88024
|
codegen package rename 2
|
2021-12-28 14:23:36 +01:00 |
|
Irmen de Jong
|
6e11b8ada1
|
GoSub no longer inherits from Jump node, fixes subtle ast/codegen bugs related to jsrs
|
2021-12-28 01:55:13 +01:00 |
|
Irmen de Jong
|
67b0890a6e
|
remove unneeded var inits when an assignment is already present
|
2021-12-25 23:31:25 +01:00 |
|
Irmen de Jong
|
629117e594
|
code size optimization: subroutine calls with 1 int arg will pass it via register instead of separate param assignment at every call site
|
2021-12-16 00:56:59 +01:00 |
|
Irmen de Jong
|
98315de723
|
allow using ubyte[] as subroutine parameter type (because it is equivalent to uword pointer var)
|
2021-12-07 23:28:45 +01:00 |
|
Irmen de Jong
|
dcf487bdc1
|
fix: correctly insert return statement if needed to prevent 'fall through' into following subroutine
this wasn't working correctly anymore when the last statement before the subroutine was a jump/goto
|
2021-12-07 21:34:50 +01:00 |
|
Irmen de Jong
|
ce3c34e458
|
tweak in error output for file links, corrected column number off-by-one
|
2021-12-04 16:52:03 +01:00 |
|
Irmen de Jong
|
b7fffbb6df
|
release 7.4.1 - oops, funcion call arg count validation was broken
|
2021-12-01 21:44:03 +01:00 |
|
Irmen de Jong
|
110e047681
|
replace subroutine calls (statement) by GoSub
|
2021-11-26 19:47:01 +01:00 |
|
Irmen de Jong
|
b00db4f8a2
|
no longer report unknown type errors as well for unknown symbols,
added a bunch more unit tests for symbol scoping rules
|
2021-11-23 22:45:57 +01:00 |
|
Irmen de Jong
|
74db5c6be7
|
fix referencesIdentifier() and better removal of unnecessary assignments
|
2021-11-20 17:41:41 +01:00 |
|
Irmen de Jong
|
4c82af36e6
|
fix improperly changed behavior about =0 initializer
|
2021-11-18 00:17:22 +01:00 |
|
Irmen de Jong
|
7961a09d16
|
converting compiler module's testcases to kotest assertions
|
2021-11-08 16:14:22 +01:00 |
|
Irmen de Jong
|
613efcacc7
|
converting compiler module's testcases to kotest (ongoing)
|
2021-11-08 15:08:48 +01:00 |
|
Irmen de Jong
|
b4fa72c058
|
fix parent node linkage for reading array parameter
|
2021-11-03 21:57:31 +01:00 |
|
Irmen de Jong
|
1110bd0851
|
fix vardecl initialization value to not use stack eval anymore but separate assignment
(this causes the optimized assignment code gen to be used instead)
but some programs now end up larger in output size
|
2021-11-01 00:24:15 +01:00 |
|
Irmen de Jong
|
3767b4bbe7
|
'Program' is not an ast Node
|
2021-10-30 00:25:34 +02:00 |
|
Irmen de Jong
|
ac5f45d2d4
|
fix nested label lookups in anon scopes (partly)
|
2021-10-27 02:41:24 +02:00 |
|
Irmen de Jong
|
9684f4e42a
|
add unit tests for AnonScope refactoring, cleaned up imports
|
2021-10-27 00:05:46 +02:00 |
|
Irmen de Jong
|
5e1459564a
|
no longer take AddressOf a str-variable that is a subroutine's parameter with str type (it's just an address/uword already)
|
2021-10-25 23:49:01 +02:00 |
|
Irmen de Jong
|
69a8813a3d
|
first steps to add support for str parameter type
|
2021-10-24 20:57:10 +02:00 |
|
Irmen de Jong
|
17175df835
|
more precise error messages checks
|
2021-10-24 19:14:46 +02:00 |
|
Irmen de Jong
|
6b32535cb6
|
don't complain about uninitialized str var if it's not a var
|
2021-10-24 15:13:38 +02:00 |
|
Irmen de Jong
|
2815a14bb5
|
(7.2) can now test for specific error messages, and specify to omit invoking assembler in tests
|
2021-10-22 01:25:26 +02:00 |
|
Irmen de Jong
|
f4dfa60790
|
(7.2) tests for pass by ref parameters
|
2021-10-22 00:41:34 +02:00 |
|