Irmen de Jong
|
35f3e8708b
|
doc and tweak subexpression extraction a tiny bit
|
2024-04-06 14:01:06 +02:00 |
|
Irmen de Jong
|
98acff802f
|
better checking for number of return values
assignment optimization if return register already is the same as the assignment target
|
2024-04-04 23:47:33 +02:00 |
|
Irmen de Jong
|
641f6c05d8
|
allow 'void' as dummy assign target in multi-assignment statements
|
2024-03-31 23:43:26 +02:00 |
|
Irmen de Jong
|
56c1035581
|
Merge branch 'master' into multi-assign
# Conflicts:
# docs/source/todo.rst
# examples/test.p8
|
2024-03-26 22:09:16 +01:00 |
|
Irmen de Jong
|
ba1e907c79
|
fix divmod; out args are written to and should be potential constants
|
2024-03-26 22:04:44 +01:00 |
|
Irmen de Jong
|
03e486c082
|
multi assign
|
2024-03-22 21:51:25 +01:00 |
|
Irmen de Jong
|
edc83305a4
|
allow multiple targets in AssignTarget
|
2024-03-22 21:51:08 +01:00 |
|
Irmen de Jong
|
66e7c51064
|
IR: fix some things related to asmsubs
|
2024-03-22 21:49:01 +01:00 |
|
Irmen de Jong
|
ad4880997a
|
no operand swap on logical expressions with shortcircuit evaluation (and,or are no longer associative!)
|
2024-03-20 22:34:48 +01:00 |
|
Irmen de Jong
|
5a0524ff4d
|
various fixes
|
2024-03-16 18:48:06 +01:00 |
|
Irmen de Jong
|
80f39e8097
|
Merge branch 'booleans'
# Conflicts:
# compiler/res/prog8lib/cx16/monogfx.p8
# compiler/res/prog8lib/virtual/monogfx.p8
# compiler/src/prog8/compiler/astprocessing/BoolRemover.kt
# compiler/test/TestTypecasts.kt
# docs/source/todo.rst
# examples/cx16/highresbitmap.p8
# examples/test.p8
# httpCompilerService/src/prog8/http/TestHttp.kt
|
2024-03-11 01:00:48 +01:00 |
|
Irmen de Jong
|
4bdf50145e
|
recognise \t character (TAB) in string literals (note: only valid in iso encoding)
|
2024-03-10 13:20:09 +01:00 |
|
Irmen de Jong
|
04f7b772a3
|
lib updates, removed unused and obsolete http and dbus modules
|
2024-03-05 23:42:35 +01:00 |
|
Irmen de Jong
|
84afb374e6
|
nostrictbool array conversions
|
2024-03-03 17:48:52 +01:00 |
|
Irmen de Jong
|
7d8cdcbfea
|
more bool fixes and optimizations in codegen
|
2024-03-02 23:19:39 +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
|
1581381467
|
streamline
|
2024-02-20 23:35:04 +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
|
e941d2665a
|
preparing for new array copy codegen
|
2024-02-09 18:22:41 +01:00 |
|
Irmen de Jong
|
9d6d98930b
|
fix ast printing of & array-element
|
2024-02-08 21:27:53 +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
|
358215e4dd
|
removed postIncrDecr (still allow ++/-- to be parsed into +=1/-=1)
|
2024-02-06 18:50:08 +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
|
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
|
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
|
87c46ba730
|
check boolean array size mismatch.
check for weird string assignment.
check for X16 problematic cpu instructions rmb, smb, bbr, bbs.
tweak number node equality wrt bool type
|
2024-01-21 19:15:22 +01:00 |
|
Irmen de Jong
|
69075376dc
|
get rid of the noshortcircuit fallback
|
2024-01-17 21:24:41 +01:00 |
|
Irmen de Jong
|
3b199a2a87
|
added cx16 example: automatons.
added debug mode and RTC to cx16 emulator launchers.
dt error details.
|
2024-01-12 21:40:30 +01:00 |
|
Irmen de Jong
|
4a4b6c04a1
|
tweak common subexpression optimization for array lookups
|
2024-01-07 22:37:15 +01:00 |
|
Irmen de Jong
|
6d9fccacb1
|
boolean not expression tweaks and optimizations
|
2024-01-05 13:32:16 +01:00 |
|
Irmen de Jong
|
bfd3edb617
|
fix expression evaluation bug where intermediate values were overwritten, yielding the wrong result
|
2024-01-04 21:04:11 +01:00 |
|
Irmen de Jong
|
242a3eec63
|
fix data type difference error on range from and to values
|
2024-01-03 21:46:22 +01:00 |
|
Irmen de Jong
|
517ea82b99
|
fixed todos in Ast printer
|
2024-01-01 23:52:03 +01:00 |
|
Irmen de Jong
|
d1f8ee1e56
|
replace most common subexpressions by a single temp variable
|
2024-01-01 14:57:24 +01:00 |
|
Irmen de Jong
|
1c55a6c6dc
|
shortcutting part one
|
2023-12-30 03:54:12 +01:00 |
|
Irmen de Jong
|
f790182f0b
|
adding short-circuit boolean expression evaluation (in IR codegen) also -noshortcircuit cli option
|
2023-12-30 01:08:41 +01:00 |
|
Irmen de Jong
|
9c1b11d605
|
some WARN messages are now INFO
|
2023-12-28 14:20:47 +01:00 |
|
Irmen de Jong
|
09c6cb4d6b
|
replace unwritten vars by consts. Improved const eval.
Fixed some slight bugs in library code
|
2023-12-28 05:17:15 +01:00 |
|
Irmen de Jong
|
2b8f613a00
|
added %option ignore_unused to suppress warnings about unused vars and subs in that module/block.
Also improved error for invalid directive.
|
2023-12-26 23:37:59 +01:00 |
|
Irmen de Jong
|
2eb137618e
|
refactor block options
|
2023-12-26 22:13:08 +01:00 |
|
Irmen de Jong
|
4bb2b8ca9b
|
make isArray a computed property by simply checking the datatype
|
2023-12-26 19:58:08 +01:00 |
|
Irmen de Jong
|
0a4de45453
|
get rid of vardecl.declareddatatype
|
2023-12-26 19:33:58 +01:00 |
|
Irmen de Jong
|
ffdc658dc8
|
type error tweaks
|
2023-12-26 18:49:01 +01:00 |
|
Irmen de Jong
|
0d44492086
|
push,pushw,pop and popw are no longer built-in functions but regular routines in sys
|
2023-12-26 14:47:31 +01:00 |
|
Irmen de Jong
|
8ae435549d
|
added -slabshigh N and -slabsgolden for memory() slabs
|
2023-12-23 20:45:30 +01:00 |
|
Irmen de Jong
|
9b113c0cbb
|
added -varsgolden to put BSS into Golden Ram at $0400
|
2023-12-23 20:11:50 +01:00 |
|