Irmen de Jong
|
124befe9d6
|
slightly optimized code for assigning boolean expressions such as `b = xx>99 `
|
2022-01-09 18:49:44 +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
|
b092d1a5d3
|
fixed code gen issue for uword >= comparison
|
2022-01-09 13:23:29 +01:00 |
|
Irmen de Jong
|
a9b45630d7
|
optimized code for variable comparisons to zero
|
2022-01-09 13:10:01 +01:00 |
|
Irmen de Jong
|
c1a39c269e
|
optimized code for stack eval comparisons with zero
|
2022-01-09 03:19:49 +01:00 |
|
Irmen de Jong
|
7135205299
|
fix codegen bug for pipe expressions to actually return correct value and not corrupt X register
|
2022-01-08 17:41:46 +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
|
75d857027e
|
cleanup of Pipe codegen
|
2022-01-08 01:33:40 +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
|
b697375573
|
add note about unspecified order of evaluation of expressions and subroutine call arguments
|
2022-01-05 23:21:45 +01:00 |
|
Irmen de Jong
|
c57ef7725e
|
preparing v7.6
|
2022-01-04 20:40:35 +01:00 |
|
Irmen de Jong
|
3ae07503f2
|
doc css styling: font size slightly bigger for code as well
|
2022-01-03 23:28:11 +01:00 |
|
Irmen de Jong
|
9a0341adde
|
doc css styling: font size slightly bigger
|
2022-01-03 23:16:07 +01:00 |
|
Irmen de Jong
|
96225efd96
|
library doc tweaks
|
2022-01-03 23:15:34 +01:00 |
|
Irmen de Jong
|
c3bd904f41
|
todo
|
2022-01-02 23:46:36 +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
|
9e90dbdde6
|
slight optimization of repeat loop (> 256 iters) code generation on 65c02 cpu
|
2022-01-01 14:42:37 +01:00 |
|
Irmen de Jong
|
1e8d8e40a2
|
slight optimization of repeat loop (0-256 iters) code generation on 65c02 cpu
|
2021-12-31 14:06:35 +01:00 |
|
Irmen de Jong
|
583e208c1e
|
remark
|
2021-12-31 11:34:53 +01:00 |
|
Irmen de Jong
|
9b91c427a1
|
add porting guide
sizeof(pointer) is hardcoded as 2 now
|
2021-12-31 00:16:23 +01:00 |
|
Irmen de Jong
|
196c5e9c24
|
v39->r39
|
2021-12-30 19:05:56 +01:00 |
|
Irmen de Jong
|
7c889f17b9
|
c128 fixes
|
2021-12-30 18:33:26 +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
|
5275c2e35f
|
todo porting guide
|
2021-12-30 18:20:09 +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
|
9f8c70b326
|
fix warning about testing multiple values
|
2021-12-30 00:49:36 +01:00 |
|
Irmen de Jong
|
a65404e63a
|
doc
|
2021-12-29 18:24:05 +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
|
4be3d63c0e
|
slight optimization of if-in
|
2021-12-29 18:13:43 +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
|
56d21de001
|
Merge branch 'master' into c128target
# Conflicts:
# examples/test.p8
|
2021-12-28 13:57:27 +01:00 |
|
Irmen de Jong
|
6e11b8ada1
|
GoSub no longer inherits from Jump node, fixes subtle ast/codegen bugs related to jsrs
|
2021-12-28 01:55:13 +01:00 |
|
Irmen de Jong
|
79405f47f6
|
fix if-gosub
|
2021-12-28 01:24:31 +01:00 |
|
Irmen de Jong
|
1c7c4fc3b0
|
optimized if-goto codegeneration
|
2021-12-28 00:42:00 +01:00 |
|
Irmen de Jong
|
9906b58818
|
tweak while desugaring, moved postfixexpr optimizations to VariousCleanups regardless of optimizer setting because asmgen requires these for conditional expressions
|
2021-12-27 12:41:26 +01:00 |
|
Irmen de Jong
|
371f084884
|
comment
|
2021-12-27 02:17:04 +01:00 |
|
Irmen de Jong
|
c55fdd9834
|
removed special code generation for while and util expression (replaced by jumps)
also added exhaustive parent node checker in validation step
|
2021-12-27 02:04:28 +01:00 |
|
Irmen de Jong
|
a3be8ccc87
|
Merge branch 'master' into c128target
|
2021-12-22 21:25:49 +01:00 |
|
Irmen de Jong
|
cdfef30c22
|
fixed docs on rsave()/rrestore() builtin functions
|
2021-12-22 21:24:36 +01:00 |
|
Irmen de Jong
|
cabf1e82e8
|
some shadow registers added to make uppercase()/lowercase() work
|
2021-12-22 21:20:34 +01:00 |
|
Irmen de Jong
|
6da83e2bd7
|
first steps to add C128 compiler target
|
2021-12-21 19:08:33 +01:00 |
|
Irmen de Jong
|
1462c57d0c
|
no need for intermediary returnvalue var for prefix expressions
|
2021-12-16 21:00:38 +01:00 |
|
Irmen de Jong
|
77c2b2b326
|
fix position of @shared in array var declarations so that the order is now type[] @shared
|
2021-12-16 20:36:05 +01:00 |
|