Irmen de Jong
|
2a1fec2ed2
|
fix codegen error for comparisons
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
b941d6f1e4
|
new comparison tests
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
37b346740b
|
fix 6502 casting uword and float to bool
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
fe9a9fc5cb
|
new if tests
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
a1574a7187
|
added txt.print_bool, several fixes
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
a5110b1f96
|
improved De Morgan rewrite rules
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
006713fe13
|
optimize boolean to ubyte assignment (skip type cast)
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
c77cd0da39
|
ifelse more
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
577333f2c4
|
new ifelse codegen
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
7d8cdcbfea
|
more bool fixes and optimizations in codegen
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
10d12f73d6
|
IR/VM: testing the boolean changes, added in-place and/or.
|
2024-03-02 23:19:20 +01:00 |
|
Irmen de Jong
|
cd9119655c
|
IR codegen
|
2024-03-02 23:19:20 +01:00 |
|
Irmen de Jong
|
41afeccd51
|
compiler stuff
|
2024-03-02 23:19:20 +01:00 |
|
Irmen de Jong
|
6b87cbb703
|
optimizers
|
2024-03-02 23:19:20 +01:00 |
|
Irmen de Jong
|
bc2b38daf4
|
added PtBool and other changes to intermediate Ast
|
2024-03-02 23:19:20 +01:00 |
|
Irmen de Jong
|
f40b7b62bb
|
updated unit tests and some basic changes for them
|
2024-03-02 23:19:20 +01:00 |
|
Irmen de Jong
|
1ca3f64bf0
|
libraries: add ==0 or !=0 to expressions that depend on implicit conversion from byte to bool
|
2024-03-02 23:19:20 +01:00 |
|
Irmen de Jong
|
4e1686f6e3
|
fix warnings in gradle build scripts
|
2024-02-22 10:34:51 +01:00 |
|
Irmen de Jong
|
d4b087ea3f
|
added txt.bell() to make terminal beep/bell sound on most systems
|
2024-02-21 17:35:37 +01:00 |
|
Irmen de Jong
|
96b5a30f60
|
slightly less strict
|
2024-02-20 23:01:51 +01:00 |
|
Irmen de Jong
|
0e17a0474a
|
added type check to catch invalid comparisons, fix maze example
|
2024-02-20 22:53:15 +01:00 |
|
Irmen de Jong
|
01bbc2234e
|
fix absorption law optimization, add 2 additional optimizations
|
2024-02-14 23:12:54 +01:00 |
|
Irmen de Jong
|
88458f5355
|
faster array copy and fix for length 256
|
2024-02-11 23:57:38 +01:00 |
|
Irmen de Jong
|
8b8caa1c2e
|
added math.randrange() and math.randrangew()
|
2024-02-10 22:16:13 +01:00 |
|
Irmen de Jong
|
4dc50cb551
|
fix unused subroutine removal not removing all unused subs
|
2024-02-10 21:26:53 +01:00 |
|
Irmen de Jong
|
5522a305ab
|
add -dumpvars option to dump all allocated variables (zp, normal ram, etc)
|
2024-02-10 18:42:31 +01:00 |
|
Irmen de Jong
|
d7f72056fc
|
rest of the array copying
|
2024-02-10 17:16:06 +01:00 |
|
Irmen de Jong
|
906d9d858c
|
implementing the array copys
|
2024-02-10 01:40:36 +01:00 |
|
Irmen de Jong
|
6eacf1bddd
|
added a few more IR syscalls for often used copy routines
|
2024-02-09 23:56:44 +01:00 |
|
Irmen de Jong
|
e941d2665a
|
preparing for new array copy codegen
|
2024-02-09 18:22:41 +01:00 |
|
Irmen de Jong
|
68669dbef0
|
fix & of pointervar indexing
|
2024-02-08 23:03:53 +01:00 |
|
Irmen de Jong
|
386a391fd9
|
added string.lstripped() and string.ltrimmed()
|
2024-02-07 23:07:45 +01:00 |
|
Irmen de Jong
|
d33aed4ed5
|
added txt.petscii2scr() and txt.petscii2scr_str()
|
2024-02-07 22:36:43 +01:00 |
|
Irmen de Jong
|
24944ad49e
|
added string.strip() and string.trim() and l/r variants.
fixed memsizer for pointers-to-ubyte.
|
2024-02-07 02:09:08 +01:00 |
|
Irmen de Jong
|
8485b8429f
|
optimizing +=1/-=1
|
2024-02-06 23:49:40 +01:00 |
|
Irmen de Jong
|
358215e4dd
|
removed postIncrDecr (still allow ++/-- to be parsed into +=1/-=1)
|
2024-02-06 18:50:08 +01:00 |
|
Irmen de Jong
|
344a1b9eb8
|
cx16: added cx16.get_program_args() and cx16.set_program_args()
|
2024-02-04 11:35:13 +01:00 |
|
Irmen de Jong
|
abcdfd8e28
|
optimize postincrdecr on memory a bit
|
2024-02-03 22:33:27 +01:00 |
|
Irmen de Jong
|
b0f5b6925d
|
getting rid of pointer[idx] in ast, instead always use @(ptr+idx)
|
2024-02-03 19:22:04 +01:00 |
|
Irmen de Jong
|
ef79d0c43e
|
fix temp variable name clash resulting in faulty code in certain common subexpression optimization
|
2024-02-03 19:20:28 +01:00 |
|
Irmen de Jong
|
78b4288005
|
avoid git's line ending translation for this test...
|
2024-02-03 14:57:25 +01:00 |
|
Irmen de Jong
|
680f5d21ee
|
normalize DOS line endings to just \n, fixes source lines in asm for \r\n source files
|
2024-02-03 12:53:21 +01:00 |
|
Irmen de Jong
|
c71aa0895f
|
get rid of certain redundant !=0 comparisons in logical expressions
|
2024-02-01 21:50:01 +01:00 |
|
Irmen de Jong
|
932035cdc5
|
flag "returning a statement" as a syntax error
|
2024-01-31 21:36:39 +01:00 |
|
Irmen de Jong
|
64d8943b7d
|
fix error when trying to post-inc/decrement a character in a string
|
2024-01-28 16:47:55 +01:00 |
|
Irmen de Jong
|
1816bda7ea
|
extra check
|
2024-01-26 00:12:31 +01:00 |
|
Irmen de Jong
|
d4a2031c07
|
fix certain assignment data type mismatch crash
|
2024-01-25 21:14:20 +01:00 |
|
Irmen de Jong
|
8cf0b6cf51
|
IR: optimize code for ==0 and !=0 augmented assigns
|
2024-01-25 00:30:47 +01:00 |
|
Irmen de Jong
|
64c132ee0a
|
changed -breakinstr option so that you now specify the exact instruction to use for a %breakpoint.
also fixed a IR issue with x=not x.
|
2024-01-22 22:01:47 +01:00 |
|
Irmen de Jong
|
a8c09d6144
|
removed a problematic bitshift replacement in the const evaluator
|
2024-01-21 23:05:51 +01:00 |
|