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 |
|
Irmen de Jong
|
37d4055036
|
translate newline '\n' to char code 13 in various encodings such as ISO (used to be 10)
This means that when printed, such newlines will now properly go to the next line in these encodings too (ISO variants, KATAKANA).
|
2025-05-11 19:45:24 +02:00 |
|
Irmen de Jong
|
78b1076110
|
some more software links
|
2025-05-11 19:39:20 +02:00 |
|
Irmen de Jong
|
ebf79ef9e2
|
release 11.3.2
|
2025-05-11 12:30:36 +02:00 |
|
Irmen de Jong
|
60a73248cd
|
todo
|
2025-05-11 03:16:48 +02:00 |
|
Irmen de Jong
|
abbb7d7ba3
|
fix struct pointers in subroutine parameters and return values
|
2025-05-11 02:08:59 +02:00 |
|
Irmen de Jong
|
0b789b5f0b
|
added most inplace operators for pointer deref
|
2025-05-10 20:58:01 +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
|
8353c689ca
|
start making '&' (address-of) return a typed pointer, fixes some errors
|
2025-05-08 23:40:41 +02:00 |
|
Frosty-J
|
d59d8ff1fe
|
Specify X16 CRC type
|
2025-05-08 05:57:30 +01:00 |
|
Irmen de Jong
|
53e442d509
|
fix regression in 11.3.1: allow bitwise operation between different types as long as they're the same size.
|
2025-05-07 23:06:45 +02:00 |
|
Irmen de Jong
|
134352ed7c
|
Merge branch 'master' into structs
# Conflicts:
# compiler/test/TestTypecasts.kt
# docs/source/todo.rst
# examples/test.p8
# virtualmachine/src/prog8/vm/VmProgramLoader.kt
|
2025-05-07 22:32:41 +02:00 |
|
Irmen de Jong
|
b28ee0819f
|
revert behavior change of @dirty variables, instead document the initialization behavior correctly in the docs
they get zeroed at program startup (like other uninitialized BSS variables), just not on entry in the subroutine.
|
2025-05-07 21:07:12 +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
|
af920d1427
|
pointer arithmetic for '-', fixed '+'
|
2025-05-05 21:06:49 +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
|
55e0dbab27
|
preparing for statically allocating struct instances
|
2025-05-03 23:44:29 +02:00 |
|
Irmen de Jong
|
4dc82f2c83
|
preparing for statically allocating struct instances
|
2025-05-03 19:00:27 +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
|
835c4b6da3
|
allow multi-field declarations in structs, get rid of . -> ^^ rewrite
|
2025-05-03 12:32:29 +02:00 |
|
Irmen de Jong
|
e0dea89477
|
added support for ptr[x].field
|
2025-05-02 22:16:20 +02:00 |
|
Irmen de Jong
|
ccc6b56e35
|
added link to prog8reu library
|
2025-05-02 19:38:59 +02:00 |
|
Irmen de Jong
|
6fc2902895
|
fixing ptr traversal typecheck issues
|
2025-05-02 00:41:42 +02:00 |
|
Irmen de Jong
|
c96e4b40d4
|
building syntax support for ptr[x].field
attempting to do this by making '.' an expression operator
|
2025-05-02 00:41:42 +02:00 |
|
Irmen de Jong
|
37da3e2170
|
parser
|
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
|
b89bbb9281
|
allow pointers in subroutines params and return values
|
2025-05-02 00:41:42 +02:00 |
|
Irmen de Jong
|
696bf636ed
|
better parsing of directive names results in better error messages when an invalid one is found
|
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 |
|
Irmen de Jong
|
476a4bac8e
|
IR: LOADI allows r1 and r2 to be the same for pointer chain dereference optimalization
|
2025-05-02 00:41:42 +02:00 |
|