Irmen de Jong
|
0c561d8528
|
fixed subroutine parameter value issue
|
2020-03-23 00:13:46 +01:00 |
|
Irmen de Jong
|
8bfa2c4c02
|
proper initialization of block-level global variables
|
2020-03-22 22:47:05 +01:00 |
|
Irmen de Jong
|
f0d4c3aba9
|
moved initialvalues to asmgen, fixed sgn bug and internal float 0.0 variable disappearing bug
|
2020-03-22 18:17:12 +01:00 |
|
Irmen de Jong
|
3a99115070
|
Initial variable values semantics changed: now always sets value at program (re)start (except strings/arrays).
This may change later by introducing a compiler option to choose a strategy, perhaps.
|
2020-03-22 15:12:26 +01:00 |
|
Irmen de Jong
|
7232134931
|
fix some compiler errors
|
2020-03-22 13:47:13 +01:00 |
|
Irmen de Jong
|
954e911eb3
|
optimized zeros array initializer
|
2020-03-22 02:58:51 +01:00 |
|
Irmen de Jong
|
63c073c93f
|
got rid of the Simulator / AST VM
|
2020-03-22 02:50:34 +01:00 |
|
Irmen de Jong
|
78feef9d59
|
simplified handling of initial vardecl values in codegeneration
|
2020-03-22 02:45:42 +01:00 |
|
Irmen de Jong
|
4fbdd6d570
|
fix ubyte number print bug for 100-109 and 200-209 missing the tens digit
|
2020-03-22 01:49:05 +01:00 |
|
Irmen de Jong
|
4929c198ba
|
tweak error reporting, expanded lines and circles example
|
2020-03-22 00:43:46 +01:00 |
|
Irmen de Jong
|
9409f17372
|
bugfixes in new optimization routines
|
2020-03-21 23:09:18 +01:00 |
|
Irmen de Jong
|
43781c02d0
|
tweaked ast modifications
|
2020-03-21 18:42:40 +01:00 |
|
Irmen de Jong
|
824f06e17f
|
new var init values
|
2020-03-21 14:54:19 +01:00 |
|
Irmen de Jong
|
270ea54ff7
|
now properly compile assignment of struct literal value to struct variable (outside of vardecl)
|
2020-03-21 00:57:20 +01:00 |
|
Irmen de Jong
|
771ac7aba7
|
error when struct literal value element count doesn't match struct members in assignment
|
2020-03-20 23:14:03 +01:00 |
|
Irmen de Jong
|
511b47bac4
|
fix compiler crash when initializing struct var with something other than a struct literal
|
2020-03-20 22:48:33 +01:00 |
|
Irmen de Jong
|
f265199fbe
|
replaced typecastsAdder with version based on astwalker
|
2020-03-20 22:28:18 +01:00 |
|
Irmen de Jong
|
a191ec71a4
|
this is not modifying the ast
|
2020-03-19 23:16:58 +01:00 |
|
Irmen de Jong
|
82dce2dd53
|
added Foreverloop statement to the ast simulator
|
2020-03-19 22:45:27 +01:00 |
|
Irmen de Jong
|
29ac160811
|
applying new astwalker for modifications
|
2020-03-19 22:40:49 +01:00 |
|
Irmen de Jong
|
5e50ea14f8
|
applying new astwalker for modifications
|
2020-03-19 21:30:01 +01:00 |
|
Irmen de Jong
|
40e6091506
|
new astvisitor tryout
|
2020-03-19 00:01:57 +01:00 |
|
Irmen de Jong
|
0ee4d420b1
|
slight tweaks on the Ast, Program (the top level) is now a Node as well
|
2020-03-18 22:29:30 +01:00 |
|
Irmen de Jong
|
6c23ae14ab
|
ver
|
2020-03-15 01:37:01 +01:00 |
|
Irmen de Jong
|
9d7eb3be5a
|
fix error reporting of constantfolding, and number of errors printed
|
2020-03-15 01:10:08 +01:00 |
|
Irmen de Jong
|
835555171e
|
fix function call arg type mismatch crash
|
2020-03-15 00:50:59 +01:00 |
|
Irmen de Jong
|
68ce4a1bf0
|
labels are now prefixed with underscore in assembly to fix undefined symbol errors from the assembler
|
2020-03-15 00:23:54 +01:00 |
|
Irmen de Jong
|
a995867deb
|
added check for duplicate label definitions
|
2020-03-15 00:16:50 +01:00 |
|
Irmen de Jong
|
6bd99d63b4
|
cleanup of error reporting
|
2020-03-14 23:47:26 +01:00 |
|
Irmen de Jong
|
baf5d3041a
|
cleanup of error reporting
|
2020-03-14 23:15:44 +01:00 |
|
Irmen de Jong
|
a326ffa00a
|
added warning about sgn() of unsigned type
|
2020-03-14 21:09:34 +01:00 |
|
Irmen de Jong
|
1de328b2e8
|
added forever-loop and optimizer
|
2020-03-14 18:11:04 +01:00 |
|
Irmen de Jong
|
91d9559f79
|
avoid pulling in the dbus libraries for now
|
2020-03-14 14:40:39 +01:00 |
|
Irmen de Jong
|
3245a9b157
|
restricted block to only directive/subroutine/vardecl/inlineasm
|
2020-03-14 14:20:55 +01:00 |
|
Irmen de Jong
|
2b28493bba
|
simplified module grammar rules
|
2020-03-14 13:44:13 +01:00 |
|
Irmen de Jong
|
1382728bd2
|
warning about unreachable code after a return statement
added some dbus experiments for future compilation service
|
2020-03-14 13:12:01 +01:00 |
|
Irmen de Jong
|
0422ad080a
|
added exit function to astvm simulator
|
2020-03-13 02:44:01 +01:00 |
|
Irmen de Jong
|
b182f7e693
|
optimizer removes unreachable code following call to exit()
|
2020-03-13 02:31:53 +01:00 |
|
Irmen de Jong
|
e6be428589
|
compiler warning for unreachable code following a call to exit()
|
2020-03-13 02:21:37 +01:00 |
|
Irmen de Jong
|
85c7f8314b
|
added exit(rc) builtin function to immediately exit the program with a return code in A register
|
2020-03-13 02:08:18 +01:00 |
|
Irmen de Jong
|
796d07a7f8
|
fix crash in asm code generated for bitshift operation with memory address operand
|
2020-03-13 01:26:53 +01:00 |
|
Irmen de Jong
|
7fbe486dff
|
fix eval stack register X error in print_uw
|
2020-03-13 00:50:30 +01:00 |
|
Irmen de Jong
|
87e5a9859a
|
remove autogenerated labels from vice mon list, fixes #17
|
2020-03-12 22:33:58 +01:00 |
|
Irmen de Jong
|
5f1ec80ae0
|
improved array literal datatype handling, fixed some datatype compiler errors related to this
|
2020-03-12 01:10:19 +01:00 |
|
Irmen de Jong
|
fbecedaf41
|
added error for unsupported sort(floatarray)
|
2020-03-11 23:33:06 +01:00 |
|
Irmen de Jong
|
aa36acd65a
|
implemented reverse(floatarray) builtin function
|
2020-03-11 23:18:03 +01:00 |
|
Irmen de Jong
|
8d1a4588d3
|
added 'downto' range expression
|
2020-03-11 20:59:14 +01:00 |
|
Irmen de Jong
|
ef6c731bb3
|
added '@' alternative string/char encoding
|
2020-03-11 00:32:50 +01:00 |
|
Irmen de Jong
|
98a638a2f3
|
split asmsub and romsub declarations
|
2020-03-10 23:09:31 +01:00 |
|
Irmen de Jong
|
96d8a7f0d7
|
float assembly code moved to separate library file
|
2020-03-10 22:03:24 +01:00 |
|
Irmen de Jong
|
3162b10392
|
optimize callgraph
|
2020-03-10 21:47:15 +01:00 |
|
Irmen de Jong
|
e2358de27c
|
ver
|
2020-03-10 20:39:30 +01:00 |
|
Irmen de Jong
|
7facb4f372
|
correct version 1.70
|
2020-02-09 01:41:05 +01:00 |
|
Irmen de Jong
|
e2cb031386
|
added 'void' keyword to explicitly ignore subroutine return values (and no longer get a warning)
|
2020-02-09 01:29:09 +01:00 |
|
Irmen de Jong
|
a0bc97b90c
|
fix byte array iteration for bb in [1,2,3]
improved array literal datatype detection
|
2020-02-09 00:45:53 +01:00 |
|
Irmen de Jong
|
fd240899bd
|
fix CHROUT in simulator
|
2020-02-09 00:12:50 +01:00 |
|
Irmen de Jong
|
885b22df40
|
fixed while and repeat warning messages line number
fixed invalid while and repeat asm label names
fixed boolean checking of numbers
|
2020-02-08 19:45:30 +01:00 |
|
Irmen de Jong
|
11de3db25f
|
simplified heapId for arrayvalues
|
2020-02-08 18:49:48 +01:00 |
|
Irmen de Jong
|
14a13da7ec
|
simplified heapId for stringvalue
|
2020-02-08 15:54:03 +01:00 |
|
Irmen de Jong
|
875a71c786
|
removed datatype from StringValue classes (is always STR now)
|
2020-02-08 02:21:18 +01:00 |
|
Irmen de Jong
|
0ff5b79353
|
code inspection cleanups
|
2020-02-08 01:31:41 +01:00 |
|
Irmen de Jong
|
8c4d276810
|
improvements to string encoding/decoding and text output in the simulator
|
2020-02-08 01:12:30 +01:00 |
|
Irmen de Jong
|
3dd38c0ac8
|
antlr library updated to 4.8
|
2020-02-07 23:58:07 +01:00 |
|
Irmen de Jong
|
b8816a0e2f
|
got rid of separate str_s datatype
|
2020-02-07 20:47:38 +01:00 |
|
Irmen de Jong
|
a01a9e76f9
|
removed bogus clang target
fixed various simulator bugs regarding strings and chars
|
2020-02-07 01:22:07 +01:00 |
|
Irmen de Jong
|
357d704aec
|
clean up version specifier
|
2020-02-02 19:33:40 +01:00 |
|
Irmen de Jong
|
654d74da1e
|
automatic selection of best Vice C64 emulator executable
|
2020-02-02 13:39:56 +01:00 |
|
Irmen de Jong
|
66e0b07428
|
gradle updates
|
2020-01-07 01:29:25 +01:00 |
|
Irmen de Jong
|
52769decd4
|
fix assembler float truncation warning
|
2019-11-27 22:36:59 +01:00 |
|
Irmen de Jong
|
165eec4054
|
started a c++ language compiler code target
(meant to be an intermediate step before direct Wasm/binaryen, via clang compilation to wasm)
|
2019-10-30 00:15:03 +01:00 |
|
Irmen de Jong
|
8c2e602cc7
|
preparing for multiple compiler backends/targets
|
2019-10-26 23:41:15 +02:00 |
|
Irmen de Jong
|
b5d1e8653d
|
tiny cleanups
|
2019-10-20 23:52:26 +02:00 |
|
Irmen de Jong
|
f6d4c90dea
|
improved number-to-decimal routines
|
2019-09-23 20:44:41 +02:00 |
|
Irmen de Jong
|
9dedbbf47c
|
use more modern java date/time api
|
2019-09-10 01:29:33 +02:00 |
|
Irmen de Jong
|
adfddddac6
|
attempt to fix bcd
|
2019-09-05 21:38:40 +02:00 |
|
Irmen de Jong
|
8d6542905d
|
beginnings of 6502 cpu simulator
|
2019-09-03 23:58:46 +02:00 |
|
Irmen de Jong
|
befe4b8e9f
|
try to fix windows path issue with drive letter
|
2019-08-27 01:02:31 +02:00 |
|
Irmen de Jong
|
772e48105e
|
fixed some type cast compiler errors in for loops
|
2019-08-26 23:38:59 +02:00 |
|
Irmen de Jong
|
9afe451b8d
|
fix build script to target jdk 1.8
|
2019-08-26 21:27:45 +02:00 |
|
Irmen de Jong
|
59a43889a5
|
examples
|
2019-08-25 00:24:00 +02:00 |
|
Irmen de Jong
|
7caa0daffc
|
examples
|
2019-08-24 21:40:50 +02:00 |
|
Irmen de Jong
|
5e854c2cf8
|
more forloop asm
|
2019-08-24 21:26:29 +02:00 |
|
Irmen de Jong
|
9edc92ec29
|
more bitshift asm stubs (actual functions still to be done)
|
2019-08-23 23:06:36 +02:00 |
|
Irmen de Jong
|
1d178080a3
|
more bitshift asm
|
2019-08-23 21:33:43 +02:00 |
|
Irmen de Jong
|
aa94300bdd
|
added output directory command line option
improved cli parser by using kotlinx.cli
|
2019-08-23 00:11:08 +02:00 |
|
Irmen de Jong
|
2d768c3f28
|
code cleanups
|
2019-08-22 22:06:21 +02:00 |
|
Irmen de Jong
|
b79af624ae
|
added more asmgen for bitshift operations
|
2019-08-22 00:34:17 +02:00 |
|
Irmen de Jong
|
38208a7c9e
|
removed fake vm functions
|
2019-08-21 22:00:05 +02:00 |
|
Irmen de Jong
|
8eff51904e
|
taking down the heapvalue mess further
|
2019-08-21 00:29:31 +02:00 |
|
Irmen de Jong
|
c717f4573d
|
taking down the heapvalue mess further
|
2019-08-20 23:02:13 +02:00 |
|
Irmen de Jong
|
984d251a6d
|
taking down the heapvalue mess, RuntimeValue class separation
|
2019-08-20 00:01:31 +02:00 |
|
Irmen de Jong
|
8c3b43f3ed
|
taking down the heapvalue mess
|
2019-08-19 22:28:41 +02:00 |
|
Irmen de Jong
|
0f1485f30b
|
added sorted, sgn, reverse to the AstVm
|
2019-08-18 16:39:08 +02:00 |
|
Irmen de Jong
|
f0d4654917
|
v1.60
|
2019-08-18 14:06:30 +02:00 |
|
Irmen de Jong
|
4ce93b5d9d
|
restored proper compiler error when trying to modify a constant
|
2019-08-18 14:05:20 +02:00 |
|
Irmen de Jong
|
fb0d7a1908
|
some array literals weren't put on the heap
|
2019-08-18 13:46:13 +02:00 |
|
Irmen de Jong
|
bb7b063757
|
revert inline var declaration in for loops
|
2019-08-18 03:16:23 +02:00 |
|
Irmen de Jong
|
c495f54bbb
|
don't fall-through into nested subroutine
|
2019-08-18 02:33:42 +02:00 |
|
Irmen de Jong
|
1cc1f2d91d
|
reverse() added (byte+word)
|
2019-08-18 02:05:51 +02:00 |
|
Irmen de Jong
|
d837cc11f9
|
sort() added (bytes+words)
|
2019-08-18 00:04:03 +02:00 |
|