Irmen de Jong
|
44d82f9190
|
add unit tests
|
2023-12-28 13:30:07 +01:00 |
|
Irmen de Jong
|
ad9eaeafeb
|
call now returns a word value
|
2023-12-22 22:24:11 +01:00 |
|
Irmen de Jong
|
b7279a3d9e
|
fix 'not in' parsing error
fixes #115
|
2023-12-19 19:49:25 +01:00 |
|
Irmen de Jong
|
ae66fcac1e
|
added call builtin function for indirect JSR
|
2023-12-17 15:45:28 +01:00 |
|
Irmen de Jong
|
e98e951834
|
fix chained assignment and multi-vardecl RHS evaluation
|
2023-12-10 16:44:51 +01:00 |
|
Irmen de Jong
|
ef1c665b9a
|
allow underscores for numerical grouping
|
2023-12-09 13:13:34 +01:00 |
|
Irmen de Jong
|
d56565be25
|
fix multi-var decl
|
2023-12-09 12:32:41 +01:00 |
|
Irmen de Jong
|
8dfa0bc38c
|
fix a compiler crash in certain vardecl initialization expressions
|
2023-11-28 21:01:58 +01:00 |
|
Irmen de Jong
|
3b0d7ea960
|
better const-evaluation of addressOf a memory mapped variable
|
2023-11-08 22:04:41 +01:00 |
|
Irmen de Jong
|
b7a622c68e
|
fix alignment of uninitialized arrays in aligned blocks (make them initialized with zeros so they don't end up in the BSS section)
fix alignment of uninitialized arrays in aligned blocks (make them initialized with zeros so they don't end up in the BSS section)
|
2023-10-04 00:12:36 +02:00 |
|
Irmen de Jong
|
f98ee326b4
|
error when doing txt.print('@') where "@" was intended (byte for string parameter)
|
2023-08-14 19:25:31 +02:00 |
|
Irmen de Jong
|
2c9e50873c
|
use math.square for optimized X*X calculation (words only).
Added IR SQUARE instruction.
|
2023-08-14 01:05:17 +02:00 |
|
Irmen de Jong
|
dff1d9e4dd
|
cleanup range expression doc
|
2023-08-09 22:58:04 +02:00 |
|
Irmen de Jong
|
7c0bde7310
|
parser: allow curly brace on next line for asmsub too
downgrade antlr4 one version again to what is used in IntelliJ's antlr plugin, to avoid potential version conflicts
|
2023-08-09 20:01:12 +02:00 |
|
Irmen de Jong
|
c223702ea0
|
code cleanups
|
2023-07-30 18:42:45 +02:00 |
|
Irmen de Jong
|
b8284a147d
|
allow boolean when conditions, optimize into a regular if
|
2023-07-11 21:33:29 +02:00 |
|
Irmen de Jong
|
f570b70827
|
fix type error with returning an array from a subroutine returning uword
|
2023-07-02 22:09:19 +02:00 |
|
Irmen de Jong
|
c544b7f5ba
|
fixing up p8_ prefixing
|
2023-07-02 21:15:05 +02:00 |
|
Irmen de Jong
|
bf703a8a66
|
unittest
|
2023-06-27 23:43:35 +02:00 |
|
Irmen de Jong
|
0a83b51e00
|
allow more curly brace styles
|
2023-06-27 01:59:22 +02:00 |
|
Irmen de Jong
|
04e4e71f2e
|
uword == str is now possible (sugar for string.compare)
|
2023-06-22 00:20:30 +02:00 |
|
Irmen de Jong
|
319079de7a
|
sqrt
|
2023-05-02 01:19:53 +02:00 |
|
Irmen de Jong
|
76a203d4df
|
api change: rename builtin func sqrt16 to sqrtw
|
2023-05-02 01:19:53 +02:00 |
|
Irmen de Jong
|
134fd62da8
|
RPN: better handling of bit shifts
|
2023-03-21 02:58:26 +01:00 |
|
Irmen de Jong
|
df2d7d4734
|
fix RPN comparison exprs
|
2023-03-19 16:08:48 +01:00 |
|
Irmen de Jong
|
fd25e85d59
|
added unroll loop construct
|
2023-03-14 23:37:49 +01:00 |
|
Irmen de Jong
|
ebd9f1471b
|
fix crash when using const word as pointer and implement 2 missing assign codegen paths
|
2023-03-11 15:39:03 +01:00 |
|
Irmen de Jong
|
d76547ead4
|
don't crash on certain undefined symbols, give proper error instead
Also the error handlers in unit tests now de-duplicate messages just like the compiler itself does
|
2023-03-11 14:58:41 +01:00 |
|
Irmen de Jong
|
e779a07bce
|
allow when with byte 1,2,3 for word variables without having to cast the values to word explicitly
|
2023-03-09 22:15:56 +01:00 |
|
Irmen de Jong
|
9ca6860ffa
|
tweak
|
2023-02-19 15:08:16 +01:00 |
|
Irmen de Jong
|
0cbc56b82e
|
remove unused ast print func
|
2023-02-13 00:19:48 +01:00 |
|
Irmen de Jong
|
75d486b124
|
fix variable node casting
|
2023-02-12 17:04:58 +01:00 |
|
Irmen de Jong
|
6aabbffc62
|
some cleanups
|
2023-02-09 02:34:18 +01:00 |
|
Irmen de Jong
|
c75b1581d2
|
lookup via new ST
|
2023-02-05 01:15:23 +01:00 |
|
Irmen de Jong
|
0f5cd22bb7
|
more codegen fixes
|
2023-01-31 22:57:26 +01:00 |
|
Irmen de Jong
|
e08da659e5
|
got rid of PtScopeVarsDecls node, just insert variable nodes directly
|
2023-01-29 13:25:15 +01:00 |
|
Irmen de Jong
|
8e730ef93d
|
optimizing scoped names more and fix scoping of identifier names in arrays (pointers) in SymbolTable
|
2022-12-31 03:20:20 +01:00 |
|
Irmen de Jong
|
e0913a39ab
|
optimizing
|
2022-12-30 18:50:45 +01:00 |
|
Irmen de Jong
|
7a27fbc001
|
add params for future changes
|
2022-12-30 17:43:55 +01:00 |
|
Irmen de Jong
|
1860f66de5
|
allow "x not in array" as equivalent to "not x in array"
update antlr parsing lib
|
2022-12-23 17:59:56 +01:00 |
|
Irmen de Jong
|
d0e6a2eb8b
|
fix compiler crash on hoisting certain vardecls from inner scopes
|
2022-12-22 18:49:53 +01:00 |
|
Irmen de Jong
|
e2f20ebf94
|
fix crash on empty conditional branch statement (if_cc { } )
|
2022-11-23 02:14:48 +01:00 |
|
Irmen de Jong
|
d8e87bd881
|
make uword xx = 1<<shift into a word shifting
|
2022-11-16 01:39:34 +01:00 |
|
Irmen de Jong
|
b22804efaf
|
ir: fix inlineasm linking
|
2022-10-31 23:59:33 +01:00 |
|
Irmen de Jong
|
8f9d1cfa30
|
fix regression: indexing pointer variable with word (>255) didn't work anymore since release 8.2 or so
|
2022-10-24 23:43:47 +02:00 |
|
Irmen de Jong
|
0d4dd385b8
|
added '%ir' to write inline IR code, '%asm' is now only for real 6502 assembly.
(%ir is probably only used in the library modules for the virtual machine target)
|
2022-09-30 15:12:26 +02:00 |
|
Irmen de Jong
|
f37a822725
|
move
|
2022-08-14 13:17:03 +02:00 |
|
Irmen de Jong
|
88cbb6913d
|
tweak bool type handling
|
2022-07-11 14:55:50 +02:00 |
|
Irmen de Jong
|
6a57337a68
|
improved bool type checking
|
2022-07-08 22:59:35 +02:00 |
|
Irmen de Jong
|
965340ff90
|
logical and/or/xor/not all replaced by bitwise &,|,^,~ (ast, codegens)
this also fixed some invalid outcomes of logical expressions!
|
2022-07-02 00:38:17 +02:00 |
|