Irmen de Jong
|
1b576f826d
|
remove unneeded sibling methods
|
2021-10-31 16:50:15 +01:00 |
|
Irmen de Jong
|
fe17566370
|
improved reporting of slow stack based evaluation code
|
2021-10-31 14:18:49 +01:00 |
|
Irmen de Jong
|
97836e18b2
|
simplified gradle config, automatically run installDist task after build
|
2021-10-30 12:01:52 +02:00 |
|
Irmen de Jong
|
7b69df4db2
|
todos
|
2021-10-30 00:38:48 +02:00 |
|
Irmen de Jong
|
4d5bd0fa32
|
simplify ZeroPage reserved locations handling a bit
|
2021-10-29 17:34:42 +02:00 |
|
Irmen de Jong
|
0b5ddcdc9b
|
split out the code generator into own project submodule
|
2021-10-29 05:00:30 +02:00 |
|
Irmen de Jong
|
f21dcaa6fb
|
split out the code optimizers into own project submodule
|
2021-10-29 02:42:10 +02:00 |
|
Irmen de Jong
|
d4513364fb
|
fix compiler crash when file on command line doesn't exist
|
2021-10-27 00:23:54 +02:00 |
|
Irmen de Jong
|
f4186981fd
|
todo
|
2021-10-26 23:30:48 +02:00 |
|
Irmen de Jong
|
4668932bac
|
todo
|
2021-10-19 23:38:07 +02:00 |
|
Irmen de Jong
|
502bf90007
|
comments
|
2021-10-19 01:12:28 +02:00 |
|
Irmen de Jong
|
cf0e395921
|
got rid of SourceCode.pathString() and the 'need' to strip < and >
|
2021-10-16 17:15:22 +02:00 |
|
Irmen de Jong
|
6ef438ce50
|
todo
|
2021-10-16 15:08:36 +02:00 |
|
Irmen de Jong
|
06defd0cb0
|
paths are now always relative
|
2021-10-16 02:43:22 +02:00 |
|
Irmen de Jong
|
0f80897c50
|
todo
|
2021-10-15 01:02:32 +02:00 |
|
Irmen de Jong
|
57bb1c2c0d
|
performance optimized checks against short ranges of values
|
2021-10-15 00:51:45 +02:00 |
|
Irmen de Jong
|
7b35b414e8
|
tweak check of DataType against multiple values
|
2021-10-15 00:39:42 +02:00 |
|
Irmen de Jong
|
761aac7a23
|
replace inferredType.istype() by infix form
|
2021-10-15 00:28:23 +02:00 |
|
Irmen de Jong
|
15a02d7664
|
making InferredType easier to use
|
2021-10-15 00:18:13 +02:00 |
|
Irmen de Jong
|
16ed68c1ec
|
Module.name is now derived back from the source's origin string
|
2021-10-14 23:58:14 +02:00 |
|
Irmen de Jong
|
4d27c2901b
|
fix weird error printing when doing %import textio.p8
|
2021-10-13 21:55:51 +02:00 |
|
Irmen de Jong
|
855e18b31c
|
fix SourceCode to properly set the sourceName of a resource or string as well
|
2021-10-13 21:46:38 +02:00 |
|
Irmen de Jong
|
d790878af6
|
enabled test
|
2021-10-13 20:28:42 +02:00 |
|
Irmen de Jong
|
6070afa6b6
|
cleanup SourceCode class
|
2021-10-13 19:16:01 +02:00 |
|
Irmen de Jong
|
975594703d
|
doc
|
2021-10-13 18:21:48 +02:00 |
|
Irmen de Jong
|
6b8c3ef614
|
renamed command line option -libdirs to -srcdirs
this more clearly separates this meaning from the internal library modules
|
2021-10-13 18:16:51 +02:00 |
|
Irmen de Jong
|
ca3a990f9e
|
todo
|
2021-10-13 01:33:29 +02:00 |
|
Irmen de Jong
|
66574d058a
|
renamed InferredType.typeOrElse to getOr()
this is closer to the convention of most functional return types
|
2021-10-13 00:21:38 +02:00 |
|
Irmen de Jong
|
07132a2c42
|
removed unreliable inlining of non-asmsub subroutines. Fixes #60
|
2021-10-08 23:09:38 +02:00 |
|
Irmen de Jong
|
af99173cd7
|
range expressions are on integers only
|
2021-09-06 22:15:27 +02:00 |
|
Irmen de Jong
|
fd1f30f92b
|
removed %target directive (didn't add much, too confusing, only supported single target)
|
2021-09-04 15:01:16 +02:00 |
|
Irmen de Jong
|
85897ef8cd
|
launch box16 emulator with the vice monlist file that contains symbols+breakpoints
|
2021-07-06 22:27:47 +02:00 |
|
Irmen de Jong
|
6367c6d116
|
add support for second alternative emulator (box16 in case of cx16 target)
|
2021-07-05 22:47:51 +02:00 |
|
Irmen de Jong
|
049dbf5a78
|
improve compiler error when defining duplicate block names
|
2021-07-04 15:14:39 +02:00 |
|
Irmen de Jong
|
95a62fcdd1
|
tidy up todo doc
|
2021-07-02 21:47:27 +02:00 |
|
Irmen de Jong
|
7880ac1909
|
wording and version
|
2021-06-24 21:34:11 +02:00 |
|
Irmen de Jong
|
f53848b4b9
|
wording and version
|
2021-06-24 21:25:35 +02:00 |
|
Irmen de Jong
|
fd2bbd2b59
|
no longer allow subroutine name same as its block name due to asm symbol scoping issues
|
2021-06-12 17:31:09 +02:00 |
|
Irmen de Jong
|
127c470746
|
add some explanation about Cx16 v38 - v39 issue
|
2021-06-12 15:48:04 +02:00 |
|
Irmen de Jong
|
c5bfef4264
|
slight improvement on scope doc, added doc example for %asminclude/%asmbinary
|
2021-06-09 23:46:07 +02:00 |
|
Irmen de Jong
|
19e99204b9
|
fix asm symbol name scoping bug and add unit tests for this
|
2021-06-04 22:42:28 +02:00 |
|
Irmen de Jong
|
13f5b94c3e
|
Clarified instructions of how to obtain the compiler. Fixed sphinx css config issue.
|
2021-06-03 21:21:44 +02:00 |
|
Irmen de Jong
|
3a2498401d
|
working on unit tests for symbol scope bug
|
2021-06-03 21:21:38 +02:00 |
|
Irmen de Jong
|
e7f6f0950f
|
identified asm symbol name scoping bugs
|
2021-06-01 22:21:50 +02:00 |
|
Irmen de Jong
|
d4b69ac79c
|
improved repeat counter vars allocation (re-use var if possible)
|
2021-05-30 15:30:34 +02:00 |
|
Irmen de Jong
|
31ae9e1243
|
refactor repeat loop counter var creation into single routine
|
2021-05-22 13:01:51 +02:00 |
|
Irmen de Jong
|
29e2d4e0c8
|
give error when passing invalid command line option
|
2021-05-20 23:34:20 +02:00 |
|
Irmen de Jong
|
0e614ad6fc
|
added @shared flag to vardecl to mark variable as shared with assembly code elsewhere, to not have it optimized away
|
2021-05-19 01:19:25 +02:00 |
|
Irmen de Jong
|
ca1a8cd617
|
improve doc about string (im)mutability
|
2021-05-19 00:15:17 +02:00 |
|
Irmen de Jong
|
ba96a637be
|
remove strdedup compiler argument again
(string deduplication is the default again but only for known-const strings, i.e. string literals)
|
2021-05-18 23:52:43 +02:00 |
|
Irmen de Jong
|
6b7216f4ec
|
todo
|
2021-05-17 19:00:20 +02:00 |
|
Irmen de Jong
|
ca61248861
|
printing 2-letter strings is now only optimized into direct CHROUT if it's a const string literal
|
2021-05-16 15:00:40 +02:00 |
|
Irmen de Jong
|
68d7b4649e
|
label and directive location docs
|
2021-05-16 12:32:08 +02:00 |
|
Irmen de Jong
|
0416aacbbd
|
fix %asminclude by removing scopelabel argument and improving docs to remove false promise about labels
|
2021-05-16 00:14:57 +02:00 |
|
Irmen de Jong
|
ae5d7705bb
|
allow correct parsing of source files that don't end in a EOL character. Fixes #40
|
2021-05-14 17:14:44 +02:00 |
|
Irmen de Jong
|
25d80f4df1
|
added compiler option to choose string literal deduplication yes/no -- default changed to NO
|
2021-05-13 00:35:22 +02:00 |
|
meisl
|
ee23ac0537
|
* docs: fix typo
|
2021-05-07 15:28:22 +02:00 |
|
Irmen de Jong
|
dae59238cd
|
fix array type checking crash when attempting to use str literal to initialize a byte array.
Fixes #34
|
2021-05-07 00:04:29 +02:00 |
|
Irmen de Jong
|
8736da1a21
|
strings of 1 and 2 length no longer optimized into one call to CHROUT - also upgrade to kotlin 1.5.0
|
2021-05-06 23:46:18 +02:00 |
|
meisl
|
63d67bc6cb
|
+ docs: add missing word
|
2021-05-06 15:49:58 +02:00 |
|
Irmen de Jong
|
d906fcea0e
|
refactor some type checks
|
2021-04-30 00:09:15 +02:00 |
|
Irmen de Jong
|
29c8e8b740
|
doc
|
2021-04-29 19:57:14 +02:00 |
|
Irmen de Jong
|
71fec4c555
|
added a few more simple special codegen segements for the logic operators on a memmory-read
|
2021-04-29 19:38:42 +02:00 |
|
Irmen de Jong
|
5ee36c897d
|
todo
|
2021-04-29 00:57:32 +02:00 |
|
Irmen de Jong
|
4aba0c7405
|
unused variables are removed more aggressively (no longer checking asm blocks for their names)
|
2021-04-29 00:48:16 +02:00 |
|
Irmen de Jong
|
8d3d5f726a
|
removed Datatype.STRUCT
|
2021-04-29 00:13:17 +02:00 |
|
Irmen de Jong
|
a9a7068818
|
removed support for structs. It was too much hassle and complexity and subtle bugs.
|
2021-04-29 00:01:20 +02:00 |
|
Irmen de Jong
|
17068130bb
|
removed PROG8_LIBDIR env variables and replaced with -libdirs command line option
|
2021-04-28 20:04:23 +02:00 |
|
Irmen de Jong
|
8b84f87217
|
removed fastrnd8() because it was hilariously bad, just use rnd()
|
2021-04-28 01:53:12 +02:00 |
|
Irmen de Jong
|
3bf335e0a0
|
todo
|
2021-04-27 23:13:46 +02:00 |
|
Irmen de Jong
|
68f696d165
|
added 'callrom' builtin function (for cx16 target) that calls a routine in banked ROM
|
2021-04-25 18:04:56 +02:00 |
|
Irmen de Jong
|
1170aed026
|
added 'callfar' builtin function (for cx16 target) that uses jsrfar to call a routine in banked RAM
|
2021-04-25 17:47:13 +02:00 |
|
Irmen de Jong
|
dd379430d9
|
added docs on flexible string character mapping to petscii
|
2021-04-20 01:22:49 +02:00 |
|
Irmen de Jong
|
a086d6e009
|
allow labels also in blocks instead of only in subroutines
|
2021-04-18 23:03:18 +02:00 |
|
Irmen de Jong
|
e93701f50e
|
fix compiler error when initializing var with memory(...) in block scope instead of subroutine
|
2021-04-17 15:49:41 +02:00 |
|
Irmen de Jong
|
56fec674c5
|
actually not simplifying if-code generation, leads to larger code at the moment
|
2021-04-13 00:03:22 +02:00 |
|
Irmen de Jong
|
54d92a027a
|
fix problems with moving vardecls from inner scope to subroutine scope
|
2021-04-12 22:53:25 +02:00 |
|
Irmen de Jong
|
319ac3a641
|
preparing optimizations for if statements
|
2021-04-12 03:34:58 +02:00 |
|
Irmen de Jong
|
0a03c46351
|
preparing optimization plan for if statements
|
2021-04-12 02:37:15 +02:00 |
|
Irmen de Jong
|
e0454e95db
|
warn about for-loop wrapped iteration if loop range is inverted from normal
|
2021-04-08 22:54:47 +02:00 |
|
Irmen de Jong
|
91e421d961
|
optimize x % p where p=power-of-2, into just x & (p-1)
|
2021-04-08 22:21:16 +02:00 |
|
Irmen de Jong
|
1a64cb38d5
|
fix compiler crash with assigning certain array values as vardecl initializer
|
2021-04-08 19:21:17 +02:00 |
|
Irmen de Jong
|
e5ff61f201
|
allow inlining of subroutines with parameters, and fix inlining of subroutines with variables
|
2021-04-07 23:38:25 +02:00 |
|
Irmen de Jong
|
123473dfc8
|
cleanup
|
2021-04-06 00:16:29 +02:00 |
|
Irmen de Jong
|
d9eccd4fba
|
set correct rom banks when using floats
|
2021-04-05 23:21:07 +02:00 |
|
Irmen de Jong
|
64c85b9617
|
fix cx16 rom v39 float changes
|
2021-04-05 22:54:40 +02:00 |
|
Irmen de Jong
|
3e3b0bcd8b
|
callgraph improved unused node checking
|
2021-04-05 20:45:18 +02:00 |
|
Irmen de Jong
|
75d5117a2d
|
fix struct flattening parent node mismatch
|
2021-04-05 00:30:42 +02:00 |
|
Irmen de Jong
|
374e2b311d
|
refactoring unused code removal and noModification
|
2021-04-04 16:36:33 +02:00 |
|
Irmen de Jong
|
49036abbaf
|
docs
|
2021-04-04 12:55:29 +02:00 |
|
Irmen de Jong
|
6b4896b8f5
|
doc
|
2021-04-02 21:28:23 +02:00 |
|
Irmen de Jong
|
d582d1cc42
|
fix inlining subroutines multiple times
|
2021-04-02 21:23:40 +02:00 |
|
Irmen de Jong
|
6fdc733941
|
inlining subroutines that contain variable declarations is now possible (gives a warning though)
|
2021-04-02 18:30:32 +02:00 |
|
Irmen de Jong
|
422b390c48
|
fix ast node duplication/reference bug in certain optimizers
|
2021-04-02 16:56:52 +02:00 |
|
Irmen de Jong
|
67a9d1285c
|
some words about how the X register can't or can be used
|
2021-04-02 00:19:46 +02:00 |
|
Irmen de Jong
|
8e26e38ecc
|
fix RTS-issue with inlined return statement
|
2021-04-01 23:30:19 +02:00 |
|
Irmen de Jong
|
02e12d8575
|
improvements for inlined subroutines: fix identifier scoping
|
2021-04-01 23:16:04 +02:00 |
|
Irmen de Jong
|
fe2954ce08
|
todo
|
2021-04-01 22:10:04 +02:00 |
|
Irmen de Jong
|
3f30d3aa89
|
added sys.waitrastborder() for c64
|
2021-04-01 18:53:16 +02:00 |
|
Irmen de Jong
|
129e17b33a
|
added sys.waitvsync() + missing documentation
|
2021-04-01 18:31:33 +02:00 |
|