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
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
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
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
0162e7a0c1
fix the scoping problems on subtypes
2025-05-02 00:41:42 +02:00
Irmen de Jong
63a410a6df
implicit cast to bool for numeric or pointers as condition arguments (to if, while, until)
2025-05-02 00:41:42 +02:00
Irmen de Jong
803e6bd81a
fix uword vs pointer type errors and casts
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
5e2d0d0dfc
fix param order of AssignTarget
2025-05-02 00:41:42 +02:00
Irmen de Jong
2ae3bd68eb
more pointer dereferencing for chains
2025-05-02 00:41:42 +02:00
Irmen de Jong
9c183f27eb
pointer dereferencing for chains
2025-05-02 00:41:42 +02:00
Irmen de Jong
8046023e82
pointer dereferencing for simple types (read and write)
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
b047731f82
removed some redundant arguments
2025-04-25 23:27:06 +02:00
Irmen de Jong
99ae8ea52e
code cleanup
2025-04-24 18:51:03 +02:00
Irmen de Jong
1e702439b7
avoid JDK 21+/Kotlin method conflict of removeLast()/removeFirst()
...
background: see https://www.reddit.com/r/androiddev/comments/1gspjrs/dont_use_kotlins_removefirst_and_removelast_when/
https://youtrack.jetbrains.com/issue/KT-71375/Prevent-Kotlins-removeFirst-and-removeLast-from-causing-crashes-on-Android-14-and-below-after-upgrading-to-Android-API-Level-35
it's about Android but the problem also occurs on desktop JDKs for example when running a Java21 compiled prog8 with Java17
2025-04-24 18:11:42 +02:00
Irmen de Jong
dd2d466350
code cleanups
2025-04-17 22:58:02 +02:00
Irmen de Jong
37b3868ca3
symboldump now also includes aliased symbols (like palette.set_default)
2025-04-08 21:40:28 +02: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
a6ba05d60c
compile time evaluation of constant rangecheck
2025-03-01 13:45:11 +01:00
Irmen de Jong
6ff75bef29
fix verafx register address typo VERA_FX_POLY_FILL_H
2025-02-27 21:59:04 +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
efd41260f2
added %jmptable
2025-02-09 15:02:59 +01:00
Irmen de Jong
75ddcda5f3
simplify DirectiveArg
2025-02-02 04:35:20 +01:00
Irmen de Jong
ee784e1ccc
fix indication for when imported modules are library modules or not.
...
This fixes a bug where syslib and such gets optimized away when it is loaded from an alternative library location using the configurable target library path property setting.
2025-01-26 21:19:29 +01:00
Irmen de Jong
228be5cd04
callgraph no longer forgets some identifier occurrences
2025-01-18 21:18:08 +01:00
Irmen de Jong
08cd2fd6e8
fix check for assigning to a constant, for multi-value assigns.
2025-01-18 20:38:02 +01:00
Irmen de Jong
09a17743ad
merge IMachineDefinition into ICompilationTarget
2025-01-13 21:45:38 +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
10b9162dc5
improving fileselector
2024-12-30 21:34:03 +01:00
Irmen de Jong
37c2c1bf0b
support &, &< and &> on array elements from split word arrays, not just on the array as a whole
2024-12-30 00:00:31 +01:00
Irmen de Jong
4c1e2f3110
refactor package nesting of ast exception classes
2024-12-23 18:14:46 +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
512ddd1694
cleanups
2024-12-20 22:59:20 +01:00
Irmen de Jong
ef4efcb112
cleanup
2024-12-19 21:06:51 +01:00
Irmen de Jong
3804fba0f1
moved jdk version config back to main gradle build file, version consistency
2024-12-19 13:39:27 +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
e7a0cb636c
add $< and $> operators to get the lsb and msb addresses of a @split array respectively.
...
document the new split array things.
2024-12-16 17:45:54 +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
80d88b3c61
fix many split array issues
2024-12-15 17:08:07 +01:00
Irmen de Jong
8f799567cf
make word arrays split by default (w.i.p.)
2024-12-15 08:12:34 +01:00
Irmen de Jong
cc59069876
allow goto to take any expression, not only an integer or an identifier (part 1)
2024-12-14 01:01:32 +01:00
Irmen de Jong
1679ca79b4
can now use boolean params mapped to Rx register
2024-12-13 20:47:23 +01:00