Commit Graph

482 Commits

Author SHA1 Message Date
Irmen de Jong
a59f7c75dc fixed some compile time and vm arithmetic errors 2019-07-10 13:33:52 +02:00
Irmen de Jong
44fe2369d6 multitarget assignments removed 2019-07-10 10:11:37 +02:00
Irmen de Jong
aaaab2cfcf fix asm gen for loops when dealing with registers as loopvar 2019-07-10 08:51:05 +02:00
Irmen de Jong
9a3dab20dc extra warnings about register usage in loops 2019-07-10 08:30:17 +02:00
Irmen de Jong
20379b5927 fixed astvm postincrdecr and rsave/rrestore 2019-07-10 08:13:42 +02:00
Irmen de Jong
34dcce67e4 fixed petscii conversion when printing text 2019-07-10 07:10:34 +02:00
Irmen de Jong
0c7f107d01 fix irq routine removal 2019-07-10 03:57:03 +02:00
Irmen de Jong
1f89571aa5 proper NOP removal 2019-07-10 03:06:31 +02:00
Irmen de Jong
7eed1ebbf8 optimized typecasting more 2019-07-10 02:54:39 +02:00
Irmen de Jong
12cb7d7abe optimize redundant typecasts more 2019-07-10 01:52:04 +02:00
Irmen de Jong
c9b16dcbd9 nicer printing of arrays, fix inc/dec overflow issue in runtimevalue 2019-07-10 01:16:32 +02:00
Irmen de Jong
dcab6d00bb ver 2019-07-10 00:50:18 +02:00
Irmen de Jong
14cabde5cf when statement extended with multiple choice values 2019-07-10 00:25:21 +02:00
Irmen de Jong
2a0c3377f9 fixed Nop statements without parent 2019-07-09 23:27:09 +02:00
Irmen de Jong
16454f5560 optimized when asm 2019-07-09 21:59:50 +02:00
Irmen de Jong
c1343a78f1 when working correctly in asm (corrected dup & cmp) 2019-07-09 21:41:47 +02:00
Irmen de Jong
9d0c65c682 when working correctly in stackvm and astvm 2019-07-09 20:39:08 +02:00
Irmen de Jong
9e6408244f fix scoping of variables in when statement 2019-07-09 19:44:59 +02:00
Irmen de Jong
3581017489 added ast printing of when statement 2019-07-09 09:02:56 +02:00
Irmen de Jong
9bc36b4d99 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	compiler/src/prog8/ast/Interfaces.kt
#	compiler/src/prog8/ast/expressions/AstExpressions.kt
#	compiler/src/prog8/ast/processing/AstChecker.kt
#	compiler/src/prog8/ast/processing/IAstModifyingVisitor.kt
#	compiler/src/prog8/ast/processing/IAstVisitor.kt
#	compiler/src/prog8/ast/processing/StatementReorderer.kt
#	compiler/src/prog8/ast/statements/AstStatements.kt
#	compiler/src/prog8/compiler/AstToSourceCode.kt
#	compiler/src/prog8/compiler/target/c64/AsmGen.kt
#	compiler/src/prog8/optimizer/StatementOptimizer.kt
#	examples/test.p8
2019-07-09 08:44:23 +02:00
Irmen de Jong
e8caf6d319 1.9 2019-07-09 08:42:38 +02:00
Irmen de Jong
5b9cc9592f removed kotlin.reflection dependency
optimized gradle build now using shadowjar
2019-07-09 08:27:47 +02:00
Irmen de Jong
3cf87536ff fix asmsub syntax 2019-07-09 07:24:21 +02:00
Irmen de Jong
cc452dffb8 restructure asmgen to improve compilation and IDE performance issues 2019-07-09 06:23:11 +02:00
Irmen de Jong
5ff79073f4 added DUP opcodes 2019-07-09 04:09:29 +02:00
Irmen de Jong
70462ffe6d syntax check and optimization of 'when' 2019-07-09 02:42:56 +02:00
Irmen de Jong
158fe7596b astvm eval of 'when' 2019-07-09 00:17:34 +02:00
Irmen de Jong
f4f113da7b parser for 'when' statement 2019-07-09 00:02:38 +02:00
Irmen de Jong
d6b6254b72 simplified the asmsub syntax 2019-07-08 23:00:18 +02:00
Irmen de Jong
65fa8c4613 ast source printer fixes 2019-07-08 22:29:22 +02:00
Irmen de Jong
c1102393bb should not shuffle assignments. 2019-07-08 22:18:25 +02:00
Irmen de Jong
dbe048158c cleaned up the ast processing:
- visitor pattern names are now used for the interfaces and the methods
- separated a modifying and a read-only ast visitor
There is now also an AstPrinter that produces original source code back from an AST
2019-07-08 21:51:16 +02:00
Irmen de Jong
2b3382ff8e cleaned up the ast processing:
- visitor pattern names are now used for the interfaces and the methods
- separated a modifying and a read-only ast visitor
There is now also an AstPrinter that produces original source code back from an AST
2019-07-08 21:32:32 +02:00
Irmen de Jong
c970d899fa DirectMemoryWrite is not an expression 2019-07-08 16:59:11 +02:00
Irmen de Jong
3c563d281a restructuring more things 2019-07-08 15:13:24 +02:00
Irmen de Jong
1794f704e7 restructuring more things 2019-07-08 14:38:51 +02:00
Irmen de Jong
ade7a4c398 restructuring vm 2019-07-08 13:40:52 +02:00
Irmen de Jong
5a27b035b0 restructuring of the AST package 2019-07-08 13:33:31 +02:00
Irmen de Jong
e84bb8d94a some attempts to make the gradle build faster 2019-07-08 12:26:15 +02:00
Irmen de Jong
5ed0893d96 tweak 2019-07-02 22:27:31 +02:00
Irmen de Jong
89314a0e1a fix reading and writing rtc jiffy clock, memory can now intercept reads and writes 2019-07-02 20:48:14 +02:00
Irmen de Jong
d83f49d84f remove unused variables, subroutines, blocks 2019-07-02 04:29:51 +02:00
Irmen de Jong
ff1294207e improved parameter name shadowing check 2019-07-02 00:32:55 +02:00
Irmen de Jong
a56956797a chars can now have a color 2019-07-01 23:41:30 +02:00
Irmen de Jong
3242495b0b slightly improved warning about implicit float casts 2019-07-01 18:43:39 +02:00
Irmen de Jong
49eb7e7803 remove bogus 2019-07-01 18:11:16 +02:00
Irmen de Jong
1d7f0d3537 streamline moving values to heap 2019-07-01 18:01:36 +02:00
Irmen de Jong
31137743f0 simplified string handling a little in LiteralValue 2019-07-01 14:19:41 +02:00
Irmen de Jong
2c69e10489 heapId writable 2019-07-01 14:10:52 +02:00
Irmen de Jong
3a1fa9e069 fixed constantfolding of array values 2019-07-01 13:53:29 +02:00