Commit Graph

497 Commits

Author SHA1 Message Date
Irmen de Jong
d5b12fb01d made astchecker readonly 2019-07-15 01:47:59 +02:00
Irmen de Jong
31f4e378aa split up Literalvalue into numeric and reference ones 2019-07-15 01:11:32 +02:00
Irmen de Jong
8a26b7b248 - fixed lookup of members in structs defined in another scope
- preserve order of variable definitions in the Ast (and thus, the output)
2019-07-13 23:03:22 +02:00
Irmen de Jong
87c28cfdbc restructure c64 machinedefinition 2019-07-13 03:16:48 +02:00
Irmen de Jong
1f5420010d prevent struct member vars from shuffling around, can take address of struct now 2019-07-13 01:16:34 +02:00
Irmen de Jong
a089c48378 finalize v 1.11 2019-07-12 20:31:18 +02:00
Irmen de Jong
3e5deda46c struct finished 2019-07-12 20:07:41 +02:00
Irmen de Jong
7500c6efd0 struct fixes 2019-07-12 17:57:56 +02:00
Irmen de Jong
717b5f3b07 struct fixes 2019-07-12 16:40:18 +02:00
Irmen de Jong
9f6fa60bf1 prepare 2019-07-12 14:38:37 +02:00
Irmen de Jong
1e9586f635 Structs can be compiled and executed in the vm! structs are just syntactic sugar for a set of variables for now. 2019-07-12 12:41:08 +02:00
Irmen de Jong
44f9d5e69e added struct syntax 2019-07-12 06:14:59 +02:00
Irmen de Jong
845a99d623 return statement only has one single possible value
astvm can now more or less run all examples
2019-07-10 19:27:44 +02:00
Irmen de Jong
3d7a4bf81a astvm can now more or less run all examples 2019-07-10 18:44:54 +02:00
Irmen de Jong
d4b3e35bd2 astvm almost complete 2019-07-10 16:50:41 +02:00
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