Commit Graph

4982 Commits

Author SHA1 Message Date
Irmen de Jong
73609636c5 gfx_lores.set_screen_mode() is now gfx_lores.graphics_mode()
adding all missing routines from gfx2 to gfx_lores
2024-10-30 21:39:37 +01:00
Irmen de Jong
66b06d6c40 added gfx2.safe_vertical_line, gfx2.safe_rect, gfx2.safe_fillrect for completeness 2024-10-30 19:03:40 +01:00
Irmen de Jong
eeeb8d81f4 merge now also allows monkeypatching if signature is 100% identical 2024-10-30 01:15:56 +01:00
Irmen de Jong
6f727aff88 fix beanshell compile with jdk11 2024-10-29 23:42:37 +01:00
Irmen de Jong
518e5a30c2 slight parser rule tweak 2024-10-29 23:18:17 +01:00
Irmen de Jong
bbba4b3d60 new block merge semantics and implementation 2024-10-29 22:57:54 +01:00
Irmen de Jong
967adb9a87 Merge branch 'beanshell' 2024-10-29 20:55:09 +01:00
Irmen de Jong
040a6c62de added a beanshell interpreter experiment 2024-10-29 20:52:41 +01:00
Irmen de Jong
483d193ced vm: implemented reading/writing files in diskio 2024-10-29 02:34:53 +01:00
Irmen de Jong
ea3b30a8e8 Merge branch 'master' into next_compositetypes 2024-10-28 21:45:05 +01:00
Irmen de Jong
62458216c9 first skeleton of LSP language server 2024-10-28 21:42:20 +01:00
Irmen de Jong
76b05cb5fd fix chained aliasing 2024-10-28 18:35:23 +01:00
Irmen de Jong
570b574b93 added sys.memcmp 2024-10-28 00:41:26 +01:00
Irmen de Jong
a82f211f9a added alias statement 2024-10-28 00:36:10 +01:00
Irmen de Jong
504c80cddf fix parser rule for identifiers (void is a keyword, not an identifier) 2024-10-27 15:57:27 +01:00
Irmen de Jong
c8b090a98b Merge branch 'master' into next_compositetypes 2024-10-27 13:52:17 +01:00
Irmen de Jong
4b4af9b527 no longer silently add RTS to asmsubs that don't have one 2024-10-27 13:49:00 +01:00
Irmen de Jong
df1a038932 Merge branch 'master' into next_compositetypes 2024-10-27 01:02:30 +02:00
Irmen de Jong
28b383f888 docs and syntax for @alignxxx and %align 2024-10-27 00:47:52 +02:00
Irmen de Jong
a7a5dda378 merge master 2024-10-26 22:01:56 +02:00
Irmen de Jong
40ce7725a1 cleanup c64 sprite examples 2024-10-26 21:36:11 +02:00
Irmen de Jong
1f2d46628e remove %option align_xxx (block level alignment, as we now have better alternatives) 2024-10-26 21:18:34 +02:00
Irmen de Jong
c9535049c8 %align directive and @align64 2024-10-26 20:58:35 +02:00
Irmen de Jong
9317cf8a35 sorting aligned vars to shrink prg size 2024-10-26 18:33:51 +02:00
Irmen de Jong
1cd754f05d adding @alignword/page on individual variables 2024-10-26 17:00:38 +02:00
Irmen de Jong
4ea31515cf Merge branch 'master' into next_compositetypes
# Conflicts:
#	codeCore/src/prog8/code/optimize/Optimizer.kt
2024-10-25 23:05:07 +02:00
Irmen de Jong
97b8cb748d more ifexpression codegen tweaks 2024-10-25 22:52:26 +02:00
Irmen de Jong
84d9040b57 make BIT test also work on signed byte variables. Fixed an address-of optimization error. 2024-10-23 22:34:18 +02:00
Irmen de Jong
6bc1fc4464 Merge branch 'master' into next_compositetypes
# Conflicts:
#	codeCore/src/prog8/code/optimize/Optimizer.kt
#	codeGenCpu6502/src/prog8/codegen/cpu6502/assignment/AssignmentAsmGen.kt
2024-10-23 21:53:21 +02:00
Irmen de Jong
fdd18c615c more ifexpresssion codegen tweaks 2024-10-23 21:04:55 +02:00
Irmen de Jong
47c1bba41d Merge branch 'master' into next_compositetypes
# Conflicts:
#	codeGenCpu6502/src/prog8/codegen/cpu6502/assignment/AssignmentAsmGen.kt
#	compiler/src/prog8/compiler/astprocessing/IntermediateAstPostprocess.kt
#	compiler/test/ast/TestVariousCompilerAst.kt
2024-10-23 00:29:38 +02:00
Irmen de Jong
c14f6cfc2b more optimal if expression code 2024-10-22 23:49:24 +02:00
Irmen de Jong
326eab3dd1 unit test for defer, describe defer and if expression in docs 2024-10-22 22:19:49 +02:00
Irmen de Jong
6da1f7eb4c don't remove essential subroutines even though they seem unused 2024-10-22 21:17:02 +02:00
Irmen de Jong
1e82483152 ast printer correctly prints ifexpression 2024-10-22 21:14:55 +02:00
Irmen de Jong
6e2fd41a8b ast printer correctly prints unroll and continue 2024-10-22 21:14:26 +02:00
Irmen de Jong
9927af1095 about var inits 2024-10-22 01:08:42 +02:00
Irmen de Jong
7585b6ef6f fix issues with calling the defer handler 2024-10-21 19:49:38 +02:00
Irmen de Jong
b23f1f4b72 Merge branch 'master' into next_compositetypes
# Conflicts:
#	codeCore/src/prog8/code/core/BuiltinFunctions.kt
#	codeGenCpu6502/src/prog8/codegen/cpu6502/AsmGen.kt
#	codeGenCpu6502/src/prog8/codegen/cpu6502/BuiltinFunctionsAsmGen.kt
#	compiler/src/prog8/compiler/astprocessing/IntermediateAstPostprocess.kt
#	compiler/test/ast/TestIntermediateAst.kt
2024-10-21 01:08:11 +02:00
Irmen de Jong
a6159702da defers are now only registered/called when flow of control actually reached the defer statement
a defer statement sets its corresponding bit in a bitmask that is shifted in the defer handler routine to see what defer blocks to call.
2024-10-21 00:55:51 +02:00
Irmen de Jong
0247fb0d84 some ast2 var tweaks 2024-10-21 00:20:54 +02:00
Irmen de Jong
db0c77c09e rename 2024-10-19 23:01:41 +02:00
Irmen de Jong
af7cc9c761 Merge branch 'master' into next_compositetypes
# Conflicts:
#	codeCore/src/prog8/code/ast/AstExpressions.kt
#	codeCore/src/prog8/code/core/BuiltinFunctions.kt
#	codeGenCpu6502/src/prog8/codegen/cpu6502/AsmGen.kt
#	codeGenCpu6502/src/prog8/codegen/cpu6502/BuiltinFunctionsAsmGen.kt
#	compiler/test/ast/TestIntermediateAst.kt
2024-10-19 22:45:39 +02:00
Irmen de Jong
6de760885f fix defer push/pop typecasting issues 2024-10-19 21:45:49 +02:00
Irmen de Jong
9851d14fb9 added if expression: ubyte a = if b>0 44 else 55
it doesn't generate the best code yet, like regular ifs do.
2024-10-19 15:34:04 +02:00
Irmen de Jong
d5fc69d3e4 fix instruction index error in optimizer 2024-10-19 14:45:53 +02:00
Irmen de Jong
a40d120f2a more defer sanity checks 2024-10-18 22:32:49 +02:00
Irmen de Jong
fcdd9414d9 fix defer interfering with return value, fix prefix expression error when operand is functioncall that doesn't return a value. 2024-10-18 21:43:09 +02:00
Irmen de Jong
272a1001a8 fix bad optimization of floats.pop/push call 2024-10-18 21:04:18 +02:00
Irmen de Jong
2a52241f1c defer is now done *after* calculating a return value 2024-10-18 20:56:27 +02:00