Irmen de Jong
|
112ca3cc53
|
allow sizeof(&thing), add sys.SIZEOF_POINTER
|
2025-05-29 15:58:29 +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
|
08b314c37d
|
IR: fix various register type mismatches
|
2025-05-28 22:15:07 +02:00 |
|
Irmen de Jong
|
86da9d3c7e
|
assigning to plain pointer with array indexing
|
2025-05-28 18:08:53 +02:00 |
|
Irmen de Jong
|
4e61e25c02
|
Merge branch 'master' into structs
# Conflicts:
# compiler/test/TestTypecasts.kt
|
2025-05-27 23:52:59 +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
|
61fe55168a
|
Merge branch 'master' into structs
# Conflicts:
# codeGenIntermediate/src/prog8/codegen/intermediate/AssignmentGen.kt
# codeGenIntermediate/src/prog8/codegen/intermediate/ExpressionGen.kt
# examples/test.p8
|
2025-05-20 22:35:04 +02:00 |
|
Irmen de Jong
|
25d7f8808f
|
IR: added signed multiplication opcodes
|
2025-05-20 21:36:05 +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
|
f0b791452e
|
fix many ptr deref errors
|
2025-05-19 01:33:57 +02:00 |
|
Irmen de Jong
|
adf5600a9b
|
simplify
|
2025-05-18 18:37:19 +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
|
bb1953267d
|
Merge branch 'master' into structs
# Conflicts:
# examples/test.p8
|
2025-05-15 23:09:30 +02:00 |
|
Irmen de Jong
|
6a33be3fd8
|
IR: allow returning boolean in Pc/Pv cpu status register (Pz and Pn are not yet possible)
|
2025-05-15 22:56:45 +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
|
e31ef6f06f
|
IR: fix temp register type in for x in array
|
2025-05-13 22:23:04 +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
|
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
|
31c1bf8bc5
|
added on..goto/call statement
|
2025-05-11 21:37:44 +02:00 |
|
Irmen de Jong
|
59c378089e
|
fix some struct type and symbol lookup errors
|
2025-05-11 00:52:35 +02:00 |
|
Irmen de Jong
|
0b789b5f0b
|
added most inplace operators for pointer deref
|
2025-05-10 20:58:01 +02:00 |
|
Irmen de Jong
|
4382b96a9a
|
tweaking pointer deref in IR
|
2025-05-10 19:52:06 +02:00 |
|
Irmen de Jong
|
246e4f35a6
|
Merge branch 'master' into structs
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/assignment/AssignmentAsmGen.kt
# codeGenIntermediate/src/prog8/codegen/intermediate/ExpressionGen.kt
# compiler/test/ast/TestConst.kt
# docs/source/todo.rst
# examples/test.p8
|
2025-05-10 16:36:16 +02:00 |
|
Irmen de Jong
|
99b9370178
|
fix various bugs around word-indexing combined with address-of: &buffer[2000]
|
2025-05-10 16:22:05 +02:00 |
|
Irmen de Jong
|
506062c6b6
|
start implementing ptr deref augmented assigns
|
2025-05-09 23:05:27 +02:00 |
|
Irmen de Jong
|
5de626aab8
|
support comparison operators on pointers
|
2025-05-06 22:26:27 +02:00 |
|
Irmen de Jong
|
701f155951
|
Merge branch 'master' into structs
# Conflicts:
# codeGenCpu6502/src/prog8/codegen/cpu6502/ProgramAndVarsGen.kt
# compiler/test/TestSymbolTable.kt
# docs/source/todo.rst
# examples/test.p8
# intermediate/src/prog8/intermediate/IRFileReader.kt
# intermediate/src/prog8/intermediate/IRFileWriter.kt
# intermediate/src/prog8/intermediate/IRSymbolTable.kt
# simpleAst/src/prog8/code/SymbolTable.kt
# simpleAst/src/prog8/code/SymbolTableMaker.kt
# virtualmachine/src/prog8/vm/VmProgramLoader.kt
|
2025-05-06 17:59:36 +02:00 |
|
Irmen de Jong
|
522958e0e9
|
@dirty variables now actually end up in the uninitialized BSS_NOCLEAR section
|
2025-05-06 01:41:34 +02:00 |
|
Irmen de Jong
|
779ebc0537
|
pointer arithmetic for '+'
|
2025-05-05 18:09:19 +02:00 |
|
Irmen de Jong
|
38949b82c3
|
type check tuning
|
2025-05-05 15:41:32 +02:00 |
|
Irmen de Jong
|
d11386ef26
|
type check tuning
|
2025-05-04 23:23:21 +02:00 |
|
Irmen de Jong
|
0e0377d1f0
|
IR/VM implemented struct allocations and initialization
|
2025-05-04 14:04:44 +02:00 |
|
Irmen de Jong
|
55e0dbab27
|
preparing for statically allocating struct instances
|
2025-05-03 23:44:29 +02:00 |
|
Irmen de Jong
|
1ba5587404
|
allow syntax for declaring variables with struct instance type
|
2025-05-03 16:14:22 +02:00 |
|
Irmen de Jong
|
dbd955b61e
|
tweak typecheck and better code for constant indexes in pointer derefs
|
2025-05-02 23:44:26 +02:00 |
|
Irmen de Jong
|
e0dea89477
|
added support for ptr[x].field
|
2025-05-02 22:16:20 +02:00 |
|
Irmen de Jong
|
6fc2902895
|
fixing ptr traversal typecheck issues
|
2025-05-02 00:41:42 +02:00 |
|
Irmen de Jong
|
2661d3c489
|
allow array syntax on pointers
|
2025-05-02 00:41:42 +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
|
0162e7a0c1
|
fix the scoping problems on subtypes
|
2025-05-02 00:41:42 +02:00 |
|
Irmen de Jong
|
6ce099f176
|
IR: fix ptr type checks and struct field assignment errors
|
2025-05-02 00:41:42 +02:00 |
|