Irmen de Jong
|
7aa807ec7f
|
proper error if attempting to do a containment check against non const range, and some cleanup in asmgen
|
2022-02-16 00:39:19 +01:00 |
|
Irmen de Jong
|
4d16e1e14a
|
now checks for invalid text encodings for given compilation target
|
2022-02-15 01:39:12 +01:00 |
|
Irmen de Jong
|
e34dac8dbb
|
remove unit test issue
|
2022-02-15 00:38:51 +01:00 |
|
Irmen de Jong
|
af0e7f7187
|
searching names in inlined assembly now ignores source comments
|
2022-02-13 13:41:12 +01:00 |
|
Irmen de Jong
|
2725c4ad4d
|
slight tweaks to zp and allocator
|
2022-02-12 00:15:52 +01:00 |
|
Irmen de Jong
|
c8cd6e9460
|
removed old @"screencodes" string encoding syntax (use sc:"hello" instead)
|
2022-02-11 22:07:14 +01:00 |
|
Irmen de Jong
|
b47fc1c020
|
renames of some Ast node classes
|
2022-02-11 00:34:36 +01:00 |
|
Irmen de Jong
|
08bacdd090
|
temp vars are now dynamically added to AST as needed
|
2022-02-10 02:52:47 +01:00 |
|
Irmen de Jong
|
e5d7316e5d
|
streamlining non-zpvars asmgen using new mechanism
|
2022-02-10 00:09:09 +01:00 |
|
Irmen de Jong
|
b043c3a6da
|
streamlining vars asmgen using new mechanism
|
2022-02-09 21:58:25 +01:00 |
|
Irmen de Jong
|
98b2855b9c
|
cleanups
|
2022-02-09 16:35:52 +01:00 |
|
Irmen de Jong
|
8c2e6971fc
|
start using vars instead of callgraph (2)
|
2022-02-08 21:09:00 +01:00 |
|
Irmen de Jong
|
7d67005709
|
more rewrite variable allocation
|
2022-02-08 20:40:10 +01:00 |
|
Irmen de Jong
|
101fb0b8aa
|
some naming changes and cleanups
|
2022-02-06 23:14:44 +01:00 |
|
Irmen de Jong
|
10de7dc1f9
|
fixed the concurrent modification issue on zeropage when running unit tests in parallel, by not having machine targets be static objects
|
2022-02-06 21:29:06 +01:00 |
|
Irmen de Jong
|
d2309b8114
|
introducing IVariableAllocation (WIP)
|
2022-02-06 18:57:23 +01:00 |
|
Irmen de Jong
|
6bdd81623f
|
cleaning up AsmGen interface
|
2022-02-06 17:07:03 +01:00 |
|
Irmen de Jong
|
8ae3bad6f7
|
fix rts in empty asmsub
|
2022-02-06 05:05:58 +01:00 |
|
Irmen de Jong
|
312949f336
|
added experimental codegen backend option
|
2022-02-05 21:42:03 +01:00 |
|
Irmen de Jong
|
30e1c3307c
|
simplify SourceCode: just read the full text immediately. Also optimized imports.
|
2022-02-05 03:50:54 +01:00 |
|
Irmen de Jong
|
69b9dfa468
|
fix invalid recursion warning for code referencing subroutine but not via a call
|
2022-02-01 23:09:52 +01:00 |
|
Irmen de Jong
|
5c8c64242f
|
callgraph: nameInAssemblyCode searches smarter (for unused())
|
2022-02-01 00:33:05 +01:00 |
|
Irmen de Jong
|
e773be2f58
|
remove no longer needed asmSymbol scoping prefixing, now asmSymbolName are identical to asmVarName
|
2022-01-31 01:47:22 +01:00 |
|
Irmen de Jong
|
990c8e1f18
|
split out 6502 codegen module from various compilertargets module.
|
2022-01-28 00:32:09 +01:00 |
|
Irmen de Jong
|
a170506356
|
simplify IdentifierReference equality check back to default (name+pos)
|
2022-01-27 23:32:55 +01:00 |
|
Irmen de Jong
|
5ecf2a3357
|
enable more optimizations for typecasted assignments. Fixed missing codegen for assigning bytes to words in certain cases.
|
2022-01-27 18:05:25 +01:00 |
|
Irmen de Jong
|
e2b8c069d7
|
check for missing '&' in string + value expressions (can't just add a value to a string)
|
2022-01-24 23:30:40 +01:00 |
|
Irmen de Jong
|
b7d06f2c0a
|
API change: added alignment parameter to memory() function
|
2022-01-24 18:58:57 +01:00 |
|
Irmen de Jong
|
3401cb5b4a
|
fixed compiler recursion crash when returning certain typecasted value
|
2022-01-23 19:13:20 +01:00 |
|
Irmen de Jong
|
5766208207
|
fix compiler crash when initializing an array var with another array var
|
2022-01-23 14:23:34 +01:00 |
|
Irmen de Jong
|
7afc96112b
|
now correctly requires using & (address-of) when assigning the address of a label or subroutine, used to generate invalid code when it was omitted
|
2022-01-23 02:23:30 +01:00 |
|
Irmen de Jong
|
7bb41a30ed
|
fixed compiler crash when assigning number larger than 65535
|
2022-01-23 01:44:16 +01:00 |
|
Irmen de Jong
|
9219ec539d
|
allow "goto pointervar" for indirect jumps
|
2022-01-21 22:55:59 +01:00 |
|
Irmen de Jong
|
651c383668
|
refactor encoder to be the same for all 3 machine targets now
|
2022-01-19 21:21:33 +01:00 |
|
Irmen de Jong
|
674295e800
|
improve error reporting from string encoders
|
2022-01-19 21:21:33 +01:00 |
|
Irmen de Jong
|
6b02f2eea0
|
implement iso encoding and new string encoding syntax, fixes #38
|
2022-01-19 21:21:32 +01:00 |
|
Irmen de Jong
|
3b59592110
|
generalize string encoding flag into enum
|
2022-01-18 21:21:49 +01:00 |
|
Irmen de Jong
|
d916027e75
|
labels no longer start with '_' fixes #62
|
2022-01-17 22:03:53 +01:00 |
|
Irmen de Jong
|
8966d2aa06
|
comments and prepare new version 7.7
|
2022-01-16 23:03:00 +01:00 |
|
Irmen de Jong
|
fe51698579
|
tweak how zp varnames are stored
|
2022-01-16 17:20:36 +01:00 |
|
Irmen de Jong
|
a798fe72d3
|
cx16 reserved zp vars (virtual registers)
|
2022-01-16 17:20:36 +01:00 |
|
Irmen de Jong
|
7dd2517f67
|
fix Zp allocation issues
|
2022-01-16 17:20:36 +01:00 |
|
Irmen de Jong
|
641477d6f6
|
add @requirezp and allow str/array to be on zp (with warning)
|
2022-01-16 17:20:32 +01:00 |
|
Irmen de Jong
|
c58b8a4973
|
fix ast to source: @shared wasn't printed
fix grammar: @shared and @zp can occur in any order now in vardecl
|
2022-01-13 02:29:55 +01:00 |
|
Irmen de Jong
|
056ec986c2
|
use var initializer assignments in a clearer way
|
2022-01-11 00:34:44 +01:00 |
|
Irmen de Jong
|
de3b2fb95b
|
slightly optimized certain list iterations into sequences
|
2022-01-10 23:15:24 +01:00 |
|
Irmen de Jong
|
b29c3152db
|
Assignment: make its origin explicit
|
2022-01-10 02:25:02 +01:00 |
|
Irmen de Jong
|
3831679772
|
VarDecl: make its origin explicit
|
2022-01-10 01:53:03 +01:00 |
|
Irmen de Jong
|
895534f32b
|
don't remove dead variable assignments if they are a function call
|
2022-01-09 18:41:01 +01:00 |
|
Irmen de Jong
|
50c16fe6de
|
code size optimization: don't copy floats with inlined copy code but use copy_float routine
|
2022-01-09 16:18:13 +01:00 |
|