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 |
|
Irmen de Jong
|
6fa3f0b6cd
|
small refactor
|
2022-01-08 18:02:38 +01:00 |
|
Irmen de Jong
|
d99d977d2b
|
fix more typecasting issues
|
2022-01-08 17:04:25 +01:00 |
|
Irmen de Jong
|
7dd7e562bc
|
pipes also as expressions, cleanup codegen, fix various typecasting issues
|
2022-01-08 13:45:19 +01:00 |
|
Irmen de Jong
|
17694c1d01
|
better error handling of invalid number casts
|
2022-01-07 22:12:13 +01:00 |
|
Irmen de Jong
|
749ad700d8
|
naming consistency for some expression classes
|
2022-01-07 21:02:55 +01:00 |
|
Irmen de Jong
|
8f3df3039a
|
added pipe operator `|> `
|
2022-01-06 22:54:18 +01:00 |
|
Irmen de Jong
|
02c315c194
|
add missing unit tests and type checking for 'in' expression
|
2022-01-06 00:01:49 +01:00 |
|
Irmen de Jong
|
96225efd96
|
library doc tweaks
|
2022-01-03 23:15:34 +01:00 |
|
Irmen de Jong
|
74257163b1
|
fix that memory("name", ...) also allocates a STR variable for the name
|
2022-01-02 17:07:04 +01:00 |
|
Irmen de Jong
|
7bc75fd220
|
fix that memory("a b c", ...) produces invalid symbol
|
2022-01-02 16:11:53 +01:00 |
|
Irmen de Jong
|
a23281afab
|
added experimental -noreinit option
|
2022-01-01 16:35:36 +01:00 |
|
Irmen de Jong
|
c15a75556d
|
Merge branch 'master' into c128target
# Conflicts:
# compiler/src/prog8/CompilerMain.kt
# examples/test.p8
|
2021-12-30 18:22:05 +01:00 |
|
Irmen de Jong
|
5267e06969
|
added -asmlist cli option to produce assembler listing output
|
2021-12-30 14:42:09 +01:00 |
|
Irmen de Jong
|
05a1ddad05
|
Merge branch 'master' into c128target
# Conflicts:
# examples/test.p8
|
2021-12-29 18:14:24 +01:00 |
|
Irmen de Jong
|
de6ce4a46e
|
add "X in [1,2,3]" expression (efficient containment check)
|
2021-12-29 17:26:00 +01:00 |
|
Irmen de Jong
|
7a9e5afb93
|
fix: for loop over array literal no longer crashes the compiler
|
2021-12-28 17:51:38 +01:00 |
|
Irmen de Jong
|
b2876b0a03
|
add a suggestion to use when statement if it seems appropriate
|
2021-12-28 16:38:12 +01:00 |
|
Irmen de Jong
|
30f04962d4
|
Merge branch 'master' into c128target
# Conflicts:
# codeGeneration/src/prog8/codegen/target/C128Target.kt
# codeGeneration/src/prog8/codegen/target/c128/C128MachineDefinition.kt
# codeGeneration/src/prog8/codegen/target/c128/C128Zeropage.kt
# compiler/src/prog8/CompilerMain.kt
# compiler/src/prog8/compiler/Compiler.kt
|
2021-12-28 14:30:11 +01:00 |
|
Irmen de Jong
|
0feeb88024
|
codegen package rename 2
|
2021-12-28 14:23:36 +01:00 |
|
Irmen de Jong
|
56d21de001
|
Merge branch 'master' into c128target
# Conflicts:
# examples/test.p8
|
2021-12-28 13:57:27 +01:00 |
|