Irmen de Jong
|
77584493fd
|
support a.b.ptr[i]^^.value as expression (RHS)
|
2025-05-30 20:28:10 +02:00 |
|
Irmen de Jong
|
a36709e638
|
Merge branch 'master' into structs
# Conflicts:
# compiler/src/prog8/compiler/Compiler.kt
|
2025-05-30 12:39:23 +02:00 |
|
Irmen de Jong
|
341778ba67
|
added -timings flag
|
2025-05-30 12:38:16 +02:00 |
|
Irmen de Jong
|
ec50b5a007
|
homebrew info
|
2025-05-30 03:43:03 +02:00 |
|
Irmen de Jong
|
8e7bbcdbe0
|
clear syntax error for yet unsupported deref after array indexing
|
2025-05-29 21:14:38 +02:00 |
|
Irmen de Jong
|
37ecdc47b3
|
allow ptr1^^ = ptr^^ (replaces it with memcopy)
|
2025-05-29 16:34:47 +02:00 |
|
Irmen de Jong
|
112ca3cc53
|
allow sizeof(&thing), add sys.SIZEOF_POINTER
|
2025-05-29 15:58:29 +02:00 |
|
Irmen de Jong
|
33b3a1664c
|
replace sizeof(list^^) with sizeof(List) to allow it to compile. Same with simple pointers.
|
2025-05-29 14:13:42 +02:00 |
|
Irmen de Jong
|
8a0c02e264
|
Merge branch 'refs/heads/master' into structs
# Conflicts:
# codeCore/src/prog8/code/target/NormalMemSizer.kt
# codeCore/src/prog8/code/target/VMTarget.kt
# compiler/src/prog8/compiler/BuiltinFunctions.kt
# compilerAst/src/prog8/ast/antlr/Antlr2Kotlin.kt
# examples/test.p8
|
2025-05-29 13:42:16 +02:00 |
|
Irmen de Jong
|
31d84c8921
|
doc
|
2025-05-29 13:35:20 +02:00 |
|
Irmen de Jong
|
e40ace9dea
|
todo
|
2025-05-29 01:35:53 +02:00 |
|
Irmen de Jong
|
4c0e6e2640
|
fix split/nosplit pointer arrays, replace ubyteptr^^ with @(ubyteptr), fix double dereference
|
2025-05-29 00:36:55 +02:00 |
|
Irmen de Jong
|
86da9d3c7e
|
assigning to plain pointer with array indexing
|
2025-05-28 18:08:53 +02:00 |
|
Irmen de Jong
|
5097d52d99
|
IR codegen for pointer indexing expressions, -assignment
|
2025-05-27 23:41:08 +02:00 |
|
Irmen de Jong
|
09d2185bb1
|
PtArrayIndexer variable is now nullable (because it could be a ptr deref instead)
|
2025-05-25 23:04:32 +02:00 |
|
Irmen de Jong
|
5c02e2bd71
|
fix a ptr indexing case, fix address-of fields
|
2025-05-25 21:32:31 +02:00 |
|
Irmen de Jong
|
fb01389b3d
|
cleaning up pointer deref
|
2025-05-25 18:33:37 +02:00 |
|
Irmen de Jong
|
aaa81210ce
|
cleaning up pointer indexing
|
2025-05-25 02:56:32 +02:00 |
|
Irmen de Jong
|
23a853db1e
|
Merge branch 'master' into structs
# Conflicts:
# compiler/src/prog8/compiler/astprocessing/AstChecker.kt
# examples/test.p8
|
2025-05-23 19:00:59 +02:00 |
|
Irmen de Jong
|
9da430ffeb
|
vm: more complete V-flag handling. somd doc and todo updates.
|
2025-05-23 18:58:14 +02:00 |
|
Irmen de Jong
|
844b537d1e
|
cobramk3 example now draws with new monogfx doublebuffering
|
2025-05-22 23:29:49 +02:00 |
|
Irmen de Jong
|
caf1d4a22a
|
fix monogfx INVERT draw mode
|
2025-05-22 21:29:23 +02:00 |
|
Irmen de Jong
|
d8e244df99
|
fix monogfx example
|
2025-05-22 00:37:20 +02:00 |
|
Irmen de Jong
|
548e421e27
|
added doublebuffering to monogfx (in both lores and hires mode)
|
2025-05-22 00:10:03 +02:00 |
|
Irmen de Jong
|
1c4999ec87
|
adding ptr unit tests
|
2025-05-20 20:57:05 +02:00 |
|
Irmen de Jong
|
c726d3f937
|
fix ptr errors
|
2025-05-19 22:49:07 +02:00 |
|
Irmen de Jong
|
f70341df1b
|
fix ptr errors
|
2025-05-19 20:06:31 +02:00 |
|
Irmen de Jong
|
f0b791452e
|
fix many ptr deref errors
|
2025-05-19 01:33:57 +02:00 |
|
Irmen de Jong
|
770ebdcd4a
|
party fix weird errors for ptr indexed assignment
|
2025-05-17 20:54:02 +02:00 |
|
Irmen de Jong
|
eabdd3a8f3
|
fix the ptr.uword[index] assignment target error
|
2025-05-17 14:57:24 +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
|
65e34d4989
|
stricter types for & operator (address-of), and fix invalid recursive subroutine flagging related to struct definition
|
2025-05-17 11:32:54 +02:00 |
|
Irmen de Jong
|
05dad5ab5f
|
cleanup 6502 pointer usage checks
|
2025-05-16 21:44:28 +02:00 |
|
Irmen de Jong
|
435faafaad
|
fix split-word storage (lsb/msb) of arrays of pointers
|
2025-05-16 17:53:15 +02:00 |
|
Irmen de Jong
|
686b32dc29
|
replace ^^str by ^^ubyte and allow returning ubyte/uword when pointer is expected
|
2025-05-16 17:53:15 +02:00 |
|
Irmen de Jong
|
0e64a22910
|
tweak address-of types
|
2025-05-16 17:53:15 +02:00 |
|
Irmen de Jong
|
4f0839f27e
|
rewrite pointer[0] into @(pointer) if its ^^ubyte
|
2025-05-16 17:53:15 +02:00 |
|
Irmen de Jong
|
cd8aae4681
|
allow @(..) to take a ^^ubyte address pointer, not only uwords.
|
2025-05-15 22:12:42 +02:00 |
|
Irmen de Jong
|
86eef7039f
|
@(..) now also accepts pointer to ubyte address
|
2025-05-15 20:07:02 +02:00 |
|
Irmen de Jong
|
f4b2264fcf
|
fix struct type checks for subroutine call arguments
|
2025-05-14 23:33:55 +02:00 |
|
Irmen de Jong
|
9b36ae2277
|
implement inplace boolean short-circuit operators on pointer dereferenced booleans
|
2025-05-14 21:29:50 +02:00 |
|
Irmen de Jong
|
913ab03963
|
get rid of invalid ARRAY_STRUCT data type (arrays of struct instance are not yet supported)
|
2025-05-14 20:43:00 +02:00 |
|
Irmen de Jong
|
38448e471c
|
Merge branch 'master' into structs
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/ForLoopsAsmGen.kt
# codeGenIntermediate/src/prog8/codegen/intermediate/IRCodeGen.kt
# examples/test.p8
|
2025-05-13 23:42:13 +02:00 |
|
Irmen de Jong
|
67231af623
|
fix forloop codegen over non-split word arrays of length >= 64 elements
|
2025-05-13 23:32:26 +02:00 |
|
Irmen de Jong
|
d8e2116481
|
different temp var mechanism for for loops, and pokef()
|
2025-05-13 21:06:33 +02:00 |
|
Irmen de Jong
|
ba93966474
|
optimize codegen: shortcut redundant jumps in when statement
|
2025-05-13 00:35:22 +02:00 |
|
Irmen de Jong
|
082265fb25
|
todo
|
2025-05-12 00:24:57 +02:00 |
|
Irmen de Jong
|
924e28e9b3
|
Merge branch 'master' into structs
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/AsmGen.kt
# compiler/src/prog8/compiler/astprocessing/CodeDesugarer.kt
# compiler/src/prog8/compiler/astprocessing/SimplifiedAstMaker.kt
# compilerAst/src/prog8/ast/AstToSourceTextConverter.kt
# compilerAst/src/prog8/ast/antlr/Antlr2Kotlin.kt
# compilerAst/src/prog8/ast/walk/AstWalker.kt
# compilerAst/src/prog8/ast/walk/IAstVisitor.kt
# docs/source/todo.rst
# examples/test.p8
# parser/src/main/antlr/Prog8ANTLR.g4
|
2025-05-11 23:23:06 +02:00 |
|
Irmen de Jong
|
e5d9af75de
|
remove double bra/jmp
|
2025-05-11 23:01:13 +02:00 |
|
Irmen de Jong
|
31c1bf8bc5
|
added on..goto/call statement
|
2025-05-11 21:37:44 +02:00 |
|