Irmen de Jong
|
bd72eaad4c
|
Merge branch 'refs/heads/master' into structs
# Conflicts:
# examples/test.p8
|
2025-06-18 17:53:20 +02:00 |
|
Irmen de Jong
|
b5d1575823
|
added boolean typed versions of the cx16.r0-r15 virtual registers
|
2025-06-18 00:05:10 +02:00 |
|
Irmen de Jong
|
49a4d9ba37
|
allow str as struct field type (^^ubyte) and strings in struct initializers
|
2025-06-15 00:29:59 +02:00 |
|
Irmen de Jong
|
12abafb917
|
Merge branch 'master' into structs
# Conflicts:
# docs/source/todo.rst
# examples/test.p8
# gradle.properties
|
2025-06-12 00:11:58 +02:00 |
|
Irmen de Jong
|
daf7c3357c
|
better detection of missing return statement
preparing 11.4
|
2025-06-09 16:01:56 +02:00 |
|
Irmen de Jong
|
d5cc414221
|
Merge branch 'master' into structs
# Conflicts:
# codeOptimizers/src/prog8/optimizer/StatementOptimizer.kt
# compiler/src/prog8/compiler/astprocessing/CodeDesugarer.kt
# compilerAst/src/prog8/ast/antlr/Antlr2Kotlin.kt
# examples/test.p8
|
2025-06-02 20:52:50 +02:00 |
|
Irmen de Jong
|
15fc3b6c04
|
replace old antlr2kotlin code with the new visitor-based translator
|
2025-06-02 01:56:07 +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
|
3b1b0985c1
|
make sizeof(float) work, so you don't have to use sys.SIZEOF_FLOAT anymore etc.
define sys.SIZEOF_FLOAT in terms of sizeof(float)
|
2025-05-29 12:38:03 +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
|
aaa81210ce
|
cleaning up pointer indexing
|
2025-05-25 02:56:32 +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
|
f0b791452e
|
fix many ptr deref errors
|
2025-05-19 01:33: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
|
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
|
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
|
8353c689ca
|
start making '&' (address-of) return a typed pointer, fixes some errors
|
2025-05-08 23:40:41 +02:00 |
|
Irmen de Jong
|
e0dea89477
|
added support for ptr[x].field
|
2025-05-02 22:16:20 +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
|
b920d553a0
|
make address-of dereference work
|
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
|
d04164c0a6
|
fix const evaluation of bitwise logical expressions (&, |, ^, <<, >>) of signed operands
|
2025-04-30 22:27:31 +02:00 |
|
Irmen de Jong
|
b047731f82
|
removed some redundant arguments
|
2025-04-25 23:27:06 +02:00 |
|
Irmen de Jong
|
1dc412eb90
|
simplify
|
2025-03-18 23:50:51 +01: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
|
79cda544c8
|
allow integer range as when choice value
|
2025-03-17 22:26:27 +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
|
3e2b2a698d
|
Separate simple Ast and Symboltable from codeCore into new simpleAst module. VirtualMachine and Intermediate do not need them, just codeCore.
|
2025-02-24 22:06:52 +01:00 |
|
Irmen de Jong
|
c7f0ff11ac
|
fix crash when initializing string variable with a non-string value
|
2025-02-10 02:54:53 +01:00 |
|
Irmen de Jong
|
d0c184c7de
|
remove needless 0 initializations of multi decl's
fix outdated text
|
2025-01-23 22:42:58 +01:00 |
|
Irmen de Jong
|
0c882836d9
|
support multi-value variable initialization: ubyte a,b,c = multi()
|
2025-01-18 22:08:31 +01:00 |
|
Irmen de Jong
|
2ab2130000
|
renamed "intermediate AST" to "simplified AST"
|
2025-01-10 20:33:44 +01:00 |
|
Irmen de Jong
|
ca9422bbe9
|
be able to parse multiple return values (sub + return)
|
2025-01-07 01:51:54 +01:00 |
|
Irmen de Jong
|
bdccffbb8e
|
stricter type checking in multivalue assigns, avoids possible invalid output due to missing type cast
|
2024-12-26 22:20:08 +01:00 |
|
Irmen de Jong
|
4daa909f32
|
fix path normalization problems,
allow ~ in srcdirs compiler flag
|
2024-12-26 17:42:20 +01:00 |
|
Irmen de Jong
|
0653d430a7
|
fix compiler crash related to uword array parameters type checking
|
2024-12-25 12:12:20 +01:00 |
|
Irmen de Jong
|
2727a4dcb3
|
tweak DataType class and memsizer related to subtypes/elementtypes
|
2024-12-23 17:28:25 +01:00 |
|
Irmen de Jong
|
5482ac0302
|
simplify grammar of @tags, also improving their error message
|
2024-12-21 01:44:58 +01:00 |
|
Irmen de Jong
|
131d5ceb4f
|
avoid re-reading all source files when sourcelines are requested in the asm
|
2024-12-21 00:06:18 +01:00 |
|
Irmen de Jong
|
512ddd1694
|
cleanups
|
2024-12-20 22:59:20 +01:00 |
|
Irmen de Jong
|
73baaeff1f
|
avoid compiler crash when using char literal in str initialization
fix compiler crash when using str var in an expression without &
|
2024-12-18 15:08:45 +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
|
8f799567cf
|
make word arrays split by default (w.i.p.)
|
2024-12-15 08:12:34 +01:00 |
|