Irmen de Jong
|
86eef7039f
|
@(..) now also accepts pointer to ubyte address
|
2025-05-15 20:07:02 +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
|
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
|
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
|
abbb7d7ba3
|
fix struct pointers in subroutine parameters and return values
|
2025-05-11 02:08:59 +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
|
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 |
|
Irmen de Jong
|
e98e6f70ac
|
Merge branch 'master' into structs
# Conflicts:
# compiler/src/prog8/compiler/astprocessing/AstChecker.kt
# compiler/test/TestTypecasts.kt
# docs/source/todo.rst
# examples/test.p8
# gradle.properties
|
2025-05-07 23:26:21 +02: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
|
f7cbfdff06
|
skip this test for now
|
2025-05-07 21:14:52 +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
|
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
|
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
|
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
|
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
|
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
|
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
|
99ae8ea52e
|
code cleanup
|
2025-04-24 18:51:03 +02:00 |
|
Irmen de Jong
|
8debc42381
|
slightly stricter assignment type compatibility checking
|
2025-04-24 15:05:35 +02:00 |
|
Irmen de Jong
|
d2cc7ccdfa
|
remove redundant variable=0 initializations (BSS clear takes care of them)
|
2025-04-23 14:45:38 +02:00 |
|
Irmen de Jong
|
a4d0589f10
|
fix errors like parse error still printed in color when -plaintext is set
|
2025-04-22 19:26:11 +02:00 |
|
Irmen de Jong
|
5a7bc04816
|
update docs about library jump table
|
2025-04-19 13:49:03 +02:00 |
|
Irmen de Jong
|
59582f5210
|
added -quiet flag to suppres all compiler and assembler messages
|
2025-04-10 21:16:26 +02:00 |
|
Irmen de Jong
|
a6835ce3f0
|
fix signed word value range check error, fix rol2() on array element
|
2025-04-08 21:05:50 +02:00 |
|
Irmen de Jong
|
f1fec37c79
|
rename examples/vm to examples/virtual
|
2025-04-04 20:02:45 +02:00 |
|
Irmen de Jong
|
d0909d7810
|
added diskio.loadlib() convenience function to load library blobs
|
2025-03-24 22:35:34 +01: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
|
f04b97d890
|
support symlinks in paths (triggered by symlinked tmp on mac os)
|
2025-03-15 14:33:33 +01:00 |
|
Irmen de Jong
|
3e9b4ccc45
|
getting rid of needless absolute pathings
|
2025-03-14 20:39:18 +01:00 |
|
Irmen de Jong
|
2c3d838dd8
|
get rid of deprecated usage of thread id to create temporary test output file names
|
2025-03-14 01:23:01 +01:00 |
|
Irmen de Jong
|
7668a3c660
|
use kotest tempdir instead of hardcoded output directory
|
2025-03-14 01:18:33 +01:00 |
|