Irmen de Jong
|
0d3ad80659
|
retain type of consts better to avoid precision loss
this also fixed a difference in const calculation where the result could differ if you were using optimzations or not.
|
2024-09-14 21:06:21 +02:00 |
|
Irmen de Jong
|
aba1a73e28
|
actually use any @zp etc tags on subroutine parameters
|
2024-09-14 17:42:13 +02:00 |
|
Irmen de Jong
|
cf551d2cc7
|
tweak containment check even more
|
2024-09-13 00:02:26 +02:00 |
|
Irmen de Jong
|
255c5bfaca
|
improve containment check for few values
|
2024-09-11 03:24:30 +02:00 |
|
Irmen de Jong
|
01c6754928
|
get rid of problematic common-subexpression optimization
|
2024-09-11 01:10:42 +02:00 |
|
Irmen de Jong
|
4a2dcd20d1
|
fix the "x<2" optimization made a few commits ago to only work on unsigned
|
2024-09-09 23:06:36 +02:00 |
|
Irmen de Jong
|
7aec627f6b
|
add optimization if x==0 or x==1 -> if x<2
|
2024-09-08 22:39:48 +02:00 |
|
Irmen de Jong
|
6d2a36fb2b
|
testcase improvement
|
2024-09-06 22:51:26 +02:00 |
|
Irmen de Jong
|
2c2ae64194
|
replace java Stack by kotlin ArrayDeque
|
2024-09-02 00:15:28 +02:00 |
|
Irmen de Jong
|
bdeac74cfc
|
removed the -nostrictbool compiler option
boolean types and bytes are no longer implicitly interchangeable using this option
|
2024-09-01 20:53:39 +02:00 |
|
Irmen de Jong
|
8f6eaeac2c
|
half width katakana conversion
|
2024-08-21 18:51:34 +02:00 |
|
Irmen de Jong
|
d12b7ccc6b
|
fix syslib importing for raw outputs. fixes #144
|
2024-08-19 13:33:02 +02:00 |
|
Irmen de Jong
|
2aae1f5e30
|
stricter checks for negative array indexing
|
2024-07-20 22:37:03 +02:00 |
|
Irmen de Jong
|
484677b4b1
|
Get rid of any() and all() builtin functions.
Replaced by regular subroutines in the anyall module.
|
2024-07-06 18:49:03 +02:00 |
|
Irmen de Jong
|
e7298f8162
|
fix invalid code gen for if v1==0 or v2==0
|
2024-07-01 23:38:25 +02:00 |
|
Irmen de Jong
|
c9a4235669
|
update to kotlin 2.0, fix several code style issues
|
2024-06-04 01:00:46 +02:00 |
|
Irmen de Jong
|
1feead2260
|
tweaks
|
2024-05-29 02:30:06 +02:00 |
|
Irmen de Jong
|
fda8e61be4
|
give better error when using @split wrong
|
2024-05-20 21:51:07 +02:00 |
|
Irmen de Jong
|
62afd3342e
|
void syntax check, fixes #135
|
2024-05-18 17:15:31 +02:00 |
|
Irmen de Jong
|
4a710ecdfc
|
cleanups
|
2024-05-17 18:48:04 +02:00 |
|
Irmen de Jong
|
53df0eb707
|
cleanups
|
2024-04-10 22:04:03 +02:00 |
|
Irmen de Jong
|
42f4b06ac8
|
added options -bytes2float and -float2bytes to be able to do float conversions from the command line
|
2024-04-09 23:59:54 +02:00 |
|
Irmen de Jong
|
db80417bd7
|
fix a problem with const fold optimization in if expressions, and IR compilation of that
|
2024-04-09 22:09:29 +02:00 |
|
Irmen de Jong
|
f5d556a7f9
|
added missing options to doc
|
2024-04-09 19:30:04 +02:00 |
|
Irmen de Jong
|
2aae46d632
|
added -dumpsymbols option to print a dump of all the variables and subroutine signatures
|
2024-04-09 19:19:13 +02:00 |
|
Irmen de Jong
|
19ebc6d6b3
|
better error message for ambiguous multi-var initialization in vardecl
|
2024-04-08 22:36:00 +02:00 |
|
Irmen de Jong
|
cfe3fcc9e7
|
fix symbol table issue
|
2024-04-06 12:53:33 +02:00 |
|
Irmen de Jong
|
731132d4b3
|
check number of result values in return statements
|
2024-04-05 02:13:31 +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
|
5f11f485a2
|
fix compiler error
|
2024-04-04 02:00:55 +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
|
788f6b44a6
|
antlr grammar now understands underscores in identifier names
|
2024-03-31 00:31:10 +01:00 |
|
Irmen de Jong
|
3e34a3ef72
|
allow multi-assign to skip any status register result
|
2024-03-29 23:10:08 +01: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
|
edc83305a4
|
allow multiple targets in AssignTarget
|
2024-03-22 21:51:08 +01:00 |
|
Irmen de Jong
|
592becc126
|
allow %breakpoint also in if/else blocks and other anonymous scopes
|
2024-03-19 23:31:21 +01:00 |
|
Irmen de Jong
|
d14c61b160
|
added string.findstr(). string.find() returns 255 if not found.
also fix string assignment bug for sub args.
|
2024-03-17 23:18:33 +01:00 |
|
Irmen de Jong
|
33c8caac8f
|
get rid of containment expression restriction
|
2024-03-12 23:39:54 +01:00 |
|
Irmen de Jong
|
51d708bbdd
|
fix monogfx issue
|
2024-03-12 23:27:15 +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
|
eef8ae00b8
|
replace str return type by uword
|
2024-03-09 15:38:46 +01:00 |
|
Irmen de Jong
|
f46896fd74
|
attempt to no longer have BuildVersion.kt in git, blocking easy pulls
(cherry picked from commit bfcf07c1a2ce3ffe938f77e0b2fd3a0b927168c3)
|
2024-03-08 23:36:35 +01:00 |
|
Irmen de Jong
|
52649a8e4f
|
conv routines now return the string buffer address.
|
2024-03-08 02:12:46 +01:00 |
|
Irmen de Jong
|
267ea13e8c
|
clearer error msg
|
2024-03-06 20:10:10 +01:00 |
|
Irmen de Jong
|
9826d7c494
|
optimize certain boolean comparisons more
|
2024-03-05 03:09:53 +01:00 |
|
Irmen de Jong
|
c6bf57b390
|
non strict bools should also replace not byte with byte==0
|
2024-03-04 23:25:34 +01:00 |
|
Irmen de Jong
|
bfcf07c1a2
|
attempt to no longer have BuildVersion.kt in git, blocking easy pulls
|
2024-03-04 20:45:59 +01:00 |
|
Irmen de Jong
|
4d7e96d423
|
add monogfx inverted (eor) draw mode
|
2024-03-03 23:28:37 +01:00 |
|
Irmen de Jong
|
607275ec66
|
tweak
|
2024-03-03 19:52:46 +01:00 |
|