jespergravgaard
|
df4294414a
|
Changed default to byte*
|
2019-06-24 19:48:18 +02:00 |
|
jespergravgaard
|
65419720c2
|
Fixed pointer subtraction error. Closes #206
|
2019-06-24 19:30:52 +02:00 |
|
jespergravgaard
|
50c8175b30
|
Added tests for two errors #205 and #206
|
2019-06-24 08:21:58 +02:00 |
|
jespergravgaard
|
b319398702
|
fixed tests
|
2019-06-24 00:31:08 +02:00 |
|
jespergravgaard
|
ca3d01e2b8
|
fixed tests
|
2019-06-24 00:28:30 +02:00 |
|
jespergravgaard
|
048d87b251
|
Moved routines into stdlib.
|
2019-06-24 00:22:23 +02:00 |
|
jespergravgaard
|
20ec350ca5
|
Added malloc tests. Improved cast handing in ASM fragments. Optimized screen center distance calculation (implemented table-based sqr() and sqrt() using binary search).
|
2019-06-23 23:44:55 +02:00 |
|
jespergravgaard
|
306bbc381f
|
Put font-hex into a lib file
|
2019-06-23 11:26:11 +02:00 |
|
jespergravgaard
|
74c7abe229
|
Improved fragment synth to include _derefidx_vbuxx
|
2019-06-23 11:12:34 +02:00 |
|
jespergravgaard
|
576457a27d
|
Updated fragment tests
|
2019-06-22 22:55:55 +02:00 |
|
jespergravgaard
|
5f61df4c16
|
Added hex code font.
|
2019-06-22 21:13:22 +02:00 |
|
jespergravgaard
|
281a77c06c
|
Updated tests
|
2019-06-22 13:45:11 +02:00 |
|
jespergravgaard
|
03e76570b8
|
Added test for memcpy
|
2019-06-22 10:36:13 +02:00 |
|
jespergravgaard
|
1e3a6a2750
|
fixed tests
|
2019-06-22 00:36:24 +02:00 |
|
jespergravgaard
|
f2a770182e
|
Added fragments. Added bitmap spiral test.
|
2019-06-22 00:25:28 +02:00 |
|
jespergravgaard
|
3ae5f0981a
|
Added a file data segment. Improved negate word fragment.
|
2019-06-21 22:12:05 +02:00 |
|
jespergravgaard
|
b461fcfa74
|
Dropped memory.kc and fill() - Instead added C stdlib memset() to string.kc.
Pointer math on void pointer now results in an error.
|
2019-06-21 20:06:57 +02:00 |
|
jespergravgaard
|
1150cf859f
|
fixed tests
|
2019-06-21 01:08:07 +02:00 |
|
jespergravgaard
|
3ff8effc51
|
Using void pointers in stdlib string.
|
2019-06-21 00:39:58 +02:00 |
|
jespergravgaard
|
7b2b8897a6
|
Void pointers now work. Closes #186
|
2019-06-21 00:36:42 +02:00 |
|
jespergravgaard
|
0a4ef77056
|
Working on fixing void pointers #186
|
2019-06-20 22:39:45 +02:00 |
|
jespergravgaard
|
d3e21133fa
|
Added initial void pointer support. Working on #186
|
2019-06-19 23:16:59 +02:00 |
|
jespergravgaard
|
29f7265341
|
Shortened clearscreen a bit more.
|
2019-06-19 02:07:50 +02:00 |
|
jespergravgaard
|
cbe58167da
|
Fixed test.
|
2019-06-19 02:05:31 +02:00 |
|
jespergravgaard
|
2acc1010ec
|
Added a few enum error tests
|
2019-06-19 01:53:03 +02:00 |
|
jespergravgaard
|
291c87621e
|
Added enum tests. Fixed inline enums inside structs.
|
2019-06-19 01:45:07 +02:00 |
|
jespergravgaard
|
f3982063eb
|
Added test refs
|
2019-06-19 01:24:10 +02:00 |
|
jespergravgaard
|
8e0e8d7dce
|
Implemented enum support for complex constants in enum values. Added enum to clearscreen. Changed constant expression handling in pass 0.
|
2019-06-19 01:23:27 +02:00 |
|
jespergravgaard
|
10082a5d96
|
Implemented enum support (excl. complex constant usage in values). Closes #119
|
2019-06-19 00:39:15 +02:00 |
|
jespergravgaard
|
e4af001041
|
Added enum syntax (no functionality yet). Working on #119
|
2019-06-18 18:36:01 +02:00 |
|
jespergravgaard
|
d111836faf
|
fixed tests
|
2019-06-18 00:15:54 +02:00 |
|
jespergravgaard
|
d7b8f6ae55
|
Added a missing fragment and a newline. Added a petscii tester and started strings.h.
|
2019-06-17 23:57:45 +02:00 |
|
jespergravgaard
|
68c3c5918c
|
Implemented support for char colors in clearscreen
|
2019-06-17 00:33:56 +02:00 |
|
jespergravgaard
|
4dfc4432c7
|
Removed all calls to ConstantIdentification.isAddressOfUsed(VarRef) since inferedVolatile now handles these situations. Structs are now working. Closes #57
|
2019-06-17 00:11:01 +02:00 |
|
jespergravgaard
|
40df42067b
|
Any variable affected by address-of is now marked as infered volatile. Closes #200
|
2019-06-16 23:49:22 +02:00 |
|
jespergravgaard
|
3725bf6821
|
Added versions to struct-unwinding.
|
2019-06-16 22:26:17 +02:00 |
|
jespergravgaard
|
ad6eadad0b
|
Added another struct address-of test passing the pointer to a procedure.
|
2019-06-16 21:48:13 +02:00 |
|
jespergravgaard
|
afc1b74ef8
|
Implemented unwound struct address-of rewriting to use first member.
|
2019-06-16 19:54:03 +02:00 |
|
jespergravgaard
|
00c8d5c857
|
Added a struct unwound placeholder when unwinding a struct variable. Will be used for address-of and to ensure the phi-generator does not run amok.
|
2019-06-16 17:10:18 +02:00 |
|
jespergravgaard
|
114a237e24
|
Added address-of test identifying problems with address-of implementation. Error is #200
|
2019-06-16 15:03:23 +02:00 |
|
jespergravgaard
|
ef38dca7af
|
Renamed to clearscreen. Added DEBUG.
|
2019-06-16 11:37:06 +02:00 |
|
jespergravgaard
|
bbbb25d9b1
|
Improved movement. Added fragment.
|
2019-06-16 01:06:52 +02:00 |
|
jespergravgaard
|
ba9b11f77b
|
Added 2D-acceleration. Added more fragments. Improved word ror'ing.
|
2019-06-16 00:31:43 +02:00 |
|
jespergravgaard
|
94b0dbcffc
|
Improved bash-script to allow -fragmentdir option. Added blackhole sprite vx/vy support. Added a few word fragments.
|
2019-06-15 21:10:06 +02:00 |
|
jespergravgaard
|
986e02fde6
|
Updated fragment test refs
|
2019-06-15 20:23:12 +02:00 |
|
jespergravgaard
|
d1752069ce
|
Added missing ref-files.
|
2019-06-15 19:19:22 +02:00 |
|
jespergravgaard
|
8778b9a986
|
Fixed tests. Fixed struct-member modify-assignments.
|
2019-06-15 19:17:55 +02:00 |
|
jespergravgaard
|
be7686c954
|
Added missing word-fragments & synth. Moved to fixed point positions.
|
2019-06-15 18:55:01 +02:00 |
|
jespergravgaard
|
9b6f1c6bd1
|
Added support for typedef (only supported in the global scope). Closes #177
|
2019-06-15 00:32:09 +02:00 |
|
jespergravgaard
|
3ba3d36994
|
Added typedef syntax. Working ont #177
|
2019-06-13 01:53:33 +02:00 |
|
jespergravgaard
|
4a93294445
|
Rearranged pass1 to avoid line numbers
|
2019-06-13 01:15:34 +02:00 |
|
jespergravgaard
|
8ee499f9a8
|
Added up/left sprite movement.
|
2019-06-12 23:54:21 +02:00 |
|
jespergravgaard
|
b4a0c74cf1
|
Fixed fragment. blackhole work-in-progress is functional.
|
2019-06-12 22:44:24 +02:00 |
|
jespergravgaard
|
d78fa15fe1
|
Fixed fragment.
|
2019-06-12 21:53:10 +02:00 |
|
jespergravgaard
|
a3c5bb06da
|
Working on blackhole. Added a ton of fragments & and some synth.
|
2019-06-12 21:38:07 +02:00 |
|
Jesper Gravgaard
|
30de557d61
|
Merge remote-tracking branch 'origin/master'
|
2019-06-12 16:39:30 +02:00 |
|
Jesper Gravgaard
|
8b3264fffa
|
working on sprite movement
|
2019-06-12 16:38:56 +02:00 |
|
jespergravgaard
|
befed70661
|
Fixed tests
|
2019-06-12 14:18:51 +02:00 |
|
jespergravgaard
|
440da0eaee
|
Minor stuff.
|
2019-06-12 14:10:36 +02:00 |
|
jespergravgaard
|
c4d24caa72
|
Added black hole test. Added a bunch of fragments. Added struct member assertion. Added some tests with stuff to fix.
|
2019-06-12 12:45:58 +02:00 |
|
Jesper Gravgaard
|
7c4a60aea4
|
Merge remote-tracking branch 'origin/master'
|
2019-06-11 21:52:37 +02:00 |
|
Jesper Gravgaard
|
b014e0f732
|
Added tests for developing struct address-of
|
2019-06-11 21:52:21 +02:00 |
|
jespergravgaard
|
3fa29f5ec2
|
Added variable word ROR and word=word&word
|
2019-06-11 20:02:37 +02:00 |
|
jespergravgaard
|
253babb8ea
|
Added textbox-test using builtin multiply - by Scan/Desire.
|
2019-06-11 06:56:51 +02:00 |
|
jespergravgaard
|
9d8d8f02e2
|
Implemented arbitrary (unsigned) integer multiplication. Also allows structs to have any size - and still use arrys indexing. Closes #193
|
2019-06-11 01:34:24 +02:00 |
|
jespergravgaard
|
69278c458a
|
Added test of struct array with 256+ structs.
|
2019-06-10 22:58:15 +02:00 |
|
jespergravgaard
|
56c33cdac2
|
Implemented struct member unwinding when copying structs referenced through pointers/array indexing.
|
2019-06-10 22:49:21 +02:00 |
|
jespergravgaard
|
c8178378b2
|
Implemented struct array access rewriting code. Removed "old" struct asm instance code.
|
2019-06-10 21:24:33 +02:00 |
|
jespergravgaard
|
5e0b33f2ca
|
Changed struct-ptr-5 to use arrow operator and changed member sequence.
|
2019-06-10 17:16:52 +02:00 |
|
jespergravgaard
|
c50cef4058
|
Implemented arrow operator. Closes #179
|
2019-06-10 17:02:17 +02:00 |
|
jespergravgaard
|
179572d979
|
Re-added meaningful SYM test reference files.
|
2019-06-10 16:39:25 +02:00 |
|
jespergravgaard
|
59f6937835
|
Implemented simple linked list using pointers to structs.
|
2019-06-10 16:36:11 +02:00 |
|
jespergravgaard
|
7daf36a811
|
Implemented struct pointer dereference rewriting. Simple pointers to structs are now working.
|
2019-06-10 14:56:25 +02:00 |
|
jespergravgaard
|
3d8443d62b
|
Added test for length og struct array
|
2019-06-10 12:06:09 +02:00 |
|
jespergravgaard
|
54679cee8b
|
Implemented sizeof() for structs - including values and arrays.
|
2019-06-10 11:59:40 +02:00 |
|
jespergravgaard
|
869ce161be
|
Struct return values working!
|
2019-06-10 01:01:36 +02:00 |
|
Jesper Gravgaard
|
a411a57688
|
Working on struct return values
|
2019-06-09 23:39:24 +02:00 |
|
jespergravgaard
|
30218564d2
|
Work-in-progress: Unwinding struct return values.
|
2019-06-09 13:56:35 +02:00 |
|
jespergravgaard
|
f29648ca26
|
Added test with 3-level nested struct value.
|
2019-06-09 10:55:18 +02:00 |
|
jespergravgaard
|
1540e14067
|
Implemented support for nested struct values.
|
2019-06-09 10:47:33 +02:00 |
|
jespergravgaard
|
26698851ca
|
Added support for struct value list constructor.
|
2019-06-08 22:06:22 +02:00 |
|
jespergravgaard
|
a180a4c0b4
|
Implemented call parameter type checking in pass 1.
|
2019-06-08 15:01:44 +02:00 |
|
Jesper Gravgaard
|
d58c46e46f
|
Added two struct value error tests.
|
2019-06-07 13:46:36 +02:00 |
|
jespergravgaard
|
0dcd739507
|
Implemented struct value call parameter passing by unwinding.
|
2019-06-07 09:31:14 +02:00 |
|
jespergravgaard
|
c995a1bca1
|
Implemented struct value member-centric optimization (converting simple struct variables to each member.)
|
2019-06-07 00:14:42 +02:00 |
|
jespergravgaard
|
0bebae430d
|
Merged masters
|
2019-06-03 22:28:02 +02:00 |
|
jespergravgaard
|
d52fbcb6b6
|
Added two tests for statement sequence locality.
|
2019-06-03 22:26:21 +02:00 |
|
Jesper Gravgaard
|
2f900a9102
|
Tests exploring sub-expression optimization.
|
2019-06-03 12:19:47 +02:00 |
|
Jesper Gravgaard
|
8289676723
|
Fixed test output
|
2019-06-03 11:01:27 +02:00 |
|
Jesper Gravgaard
|
0ff52448f1
|
Added test for void-parameter lists.
|
2019-06-03 10:36:20 +02:00 |
|
jespergravgaard
|
9ad3879e52
|
New type system fixes pointer to pointer casts. Closes #166
|
2019-06-03 08:58:23 +02:00 |
|
jespergravgaard
|
7a4d3fff47
|
New type system fixed loHhi-operator on constant values. Closes #95
|
2019-06-03 01:51:25 +02:00 |
|
jespergravgaard
|
7535f4d4c1
|
New type system fixed addition sequence. Closes #132
|
2019-06-03 01:44:16 +02:00 |
|
jespergravgaard
|
8e1add7d04
|
New type system fixed constant casting. Closes #164
|
2019-06-03 01:40:55 +02:00 |
|
jespergravgaard
|
526bfbb60c
|
Added support for converting non-boolean conditions to boolean. Fixed problem with ranged for iterating signed bytes. Closes #135
|
2019-06-03 00:44:46 +02:00 |
|
Jesper Gravgaard
|
45471f6848
|
Implemented syntax supporting string character encodings. Closes #59
|
2019-06-02 17:25:04 +02:00 |
|
jespergravgaard
|
8947882e20
|
Moved zero-page coalesce to an optimization option.
|
2019-05-31 23:17:57 +02:00 |
|
jespergravgaard
|
67a198c48f
|
Updated number type test. Closes #181
|
2019-05-31 20:19:23 +02:00 |
|
jespergravgaard
|
487c06fbbc
|
Removed -O0 switch
|
2019-05-31 18:51:39 +02:00 |
|
jespergravgaard
|
8925a57955
|
Cached phi transition calculations yilding significantly faster compilation of complex programs.
|
2019-05-31 18:20:03 +02:00 |
|
jespergravgaard
|
b6ee63ea9f
|
Caching effective alive for each call path.
|
2019-05-31 15:48:20 +02:00 |
|
jespergravgaard
|
97f6051b12
|
Fixed static optimization problem not detecting modified memory. Fixed thread problem not handling global variables properly. Added compiler switch -O0 doing less optimization for faster compiles.
|
2019-05-31 12:46:50 +02:00 |
|
jespergravgaard
|
29aa5322b2
|
Fixed issue with const/label.
|
2019-05-31 01:56:59 +02:00 |
|
jespergravgaard
|
ecf4181ce1
|
Fixed tests (added missing toString(). Changed global reserve directiveu to #reserve(zp,zp,zp,...). Added global directive specifying code address #zp(addr). Closes #190
|
2019-05-30 23:50:26 +02:00 |
|
jespergravgaard
|
b755cd448f
|
Readded cfg/log/sym-files to tests
|
2019-05-30 22:29:07 +02:00 |
|
jespergravgaard
|
036724c92d
|
Readded nop cast inlining - and fixed some recursion problems.
|
2019-05-30 21:38:12 +02:00 |
|
jespergravgaard
|
33b75c3db6
|
Merged 181-type-system
|
2019-05-30 17:55:53 +02:00 |
|
Jesper Gravgaard
|
ef953a12b4
|
Added some pointer-based struct tests (simulating the ASM we want for array indexing).
|
2019-05-29 17:45:17 +02:00 |
|
jespergravgaard
|
007985111a
|
Temporary implementation for arrays of structs
|
2019-05-29 08:05:34 +02:00 |
|
jespergravgaard
|
837104f4fd
|
Working on structs
|
2019-05-28 22:56:52 +02:00 |
|
jespergravgaard
|
9c682e37fe
|
Testing structs
|
2019-05-28 22:28:17 +02:00 |
|
Jesper Gravgaard
|
30d6878ade
|
Minimalistic struct example working with several shortcuts in the code.
|
2019-05-27 08:39:59 +02:00 |
|
Jesper Gravgaard
|
75af42ad3f
|
Added struct syntax
|
2019-05-24 23:00:13 +02:00 |
|
Jesper Gravgaard
|
e46fd03ec5
|
Added support for string concatenation C style (using simple space separation).
Fixed tests.
|
2019-05-24 20:57:43 +02:00 |
|
jespergravgaard
|
3376a462fc
|
Fixed number range test
|
2019-05-24 18:02:42 +02:00 |
|
jespergravgaard
|
999afdcbc7
|
Fixed 2/3. One remaining!
|
2019-05-24 09:02:31 +02:00 |
|
jespergravgaard
|
c42156c4e9
|
Working in unumber/snumber. Updated test files.
|
2019-05-24 00:52:30 +02:00 |
|
jespergravgaard
|
f574bb676c
|
Working in unumber/snumber. Only few failing tests.
|
2019-05-24 00:50:48 +02:00 |
|
jespergravgaard
|
9ef7c69c3e
|
Improved comparisons to avoid branch/jmp sequences by negating comparisons.
|
2019-05-23 17:50:44 +02:00 |
|
jespergravgaard
|
06147e2634
|
Moved malloc/free trivial implementations to stdlib
|
2019-05-23 15:48:34 +02:00 |
|
jespergravgaard
|
430c128cc3
|
Simplified constant inlining pass2
|
2019-05-23 12:33:15 +02:00 |
|
jespergravgaard
|
682d007ba8
|
Replaced Pass1EliminiateEmptyBlocks with PassNCullEmptyBlocks (which was removed from pass 2).
|
2019-05-23 12:19:20 +02:00 |
|
jespergravgaard
|
01e833681a
|
Improved planned sequence for A->B->C sequences where B is conditional successor of A.
|
2019-05-23 12:02:52 +02:00 |
|
jespergravgaard
|
d5ebe81c21
|
Eliminated two redundant pass2 steps
|
2019-05-23 07:41:18 +02:00 |
|
jespergravgaard
|
1df77d5ded
|
Collected all type inference in pass2 together.
|
2019-05-23 07:39:10 +02:00 |
|
jespergravgaard
|
fdbfa68c1c
|
Eliminated Pass2EliminateRedundantCasts.
|
2019-05-23 07:12:52 +02:00 |
|
jespergravgaard
|
009b141ef1
|
Eliminated PassNDowngradeConstantTypeConversion. Simplified PassNAddTypeConversionAssignment.
|
2019-05-23 01:07:59 +02:00 |
|
jespergravgaard
|
2a14671496
|
Renamed for clarity
|
2019-05-23 00:46:43 +02:00 |
|
jespergravgaard
|
65c92716f0
|
Cleaning up type inference.
|
2019-05-23 00:38:35 +02:00 |
|
jespergravgaard
|
49a61ecbdd
|
Cleaning up type inference.
|
2019-05-23 00:28:34 +02:00 |
|
jespergravgaard
|
669064bd37
|
Eliminated SymbolTypeNumberInference.
|
2019-05-22 23:59:43 +02:00 |
|
jespergravgaard
|
864b993f14
|
Eliminated SymbolTypeSimple. Eliminated SymbolTypeInference.infer(type, ...). Eliminiated most of SymbolTypeNumberInference.
|
2019-05-22 23:50:50 +02:00 |
|
jespergravgaard
|
2fb9a5baf3
|
Moved symbol table update functions to PassNTypeInference (cleaning up SymbolTypeInference).
|
2019-05-22 23:38:34 +02:00 |
|
Jesper Gravgaard
|
9636e26191
|
Changed all type comparisons to use SymbolType.XXX.equals()
|
2019-05-22 15:53:48 +02:00 |
|
Jesper Gravgaard
|
aaf556abe1
|
Improved utoa16 implementation using pointer to pointer.
|
2019-05-22 15:42:00 +02:00 |
|
Jesper Gravgaard
|
ff7e4bff2a
|
Removed duplicate compiler step.
|
2019-05-22 15:32:42 +02:00 |
|
Jesper Gravgaard
|
39c4f0d6b4
|
Fixed identification of identical Phi RValues that are constant pointers to symbols.
|
2019-05-22 15:29:47 +02:00 |
|
jespergravgaard
|
67db0f0f6f
|
Improved duplicate assignment right side optimization slightly.
|
2019-05-22 08:19:43 +02:00 |
|
jespergravgaard
|
2c808e59d6
|
Added tests for duplicate assignment right side optimization.
|
2019-05-22 08:06:54 +02:00 |
|
Jesper Gravgaard
|
c1213f4d55
|
Added right side duplicate identification.
|
2019-05-21 23:06:13 +02:00 |
|
jespergravgaard
|
5f2b798a8a
|
Added test for pointer-to-pointer optimization.
|
2019-05-21 10:23:39 +02:00 |
|
jespergravgaard
|
fd259fe47e
|
Added pointer to pointer test.
|
2019-05-21 01:45:32 +02:00 |
|
jespergravgaard
|
3132790ab5
|
Added very naive heap implementation.
|
2019-05-21 00:33:36 +02:00 |
|
jespergravgaard
|
b3041e326d
|
Optimizing compiler passes
|
2019-05-21 00:05:17 +02:00 |
|
jespergravgaard
|
bc699a9e27
|
Added utoa16(). Fixed early constant identification not taking procedure parameters into account.
|
2019-05-20 23:41:58 +02:00 |
|
Jesper Gravgaard
|
2b26c813d9
|
Rafactoring pass 2
|
2019-05-20 11:01:58 +02:00 |
|
Jesper Gravgaard
|
27c6c3fb86
|
Rafactoring pass 2
|
2019-05-20 10:54:06 +02:00 |
|
Jesper Gravgaard
|
77d24eddc6
|
Rafactoring pass 2
|
2019-05-20 10:47:53 +02:00 |
|
Jesper Gravgaard
|
5d988dd859
|
Rafactoring pass 2
|
2019-05-20 10:36:58 +02:00 |
|
Jesper Gravgaard
|
9864995afb
|
Created utoa10 with smaller memory footprint.
|
2019-05-19 21:17:39 +02:00 |
|
jespergravgaard
|
2ec68d6fd5
|
added hex2dec test
|
2019-05-19 09:31:12 +02:00 |
|
jespergravgaard
|
6246871538
|
Fixed tests
|
2019-05-19 01:16:12 +02:00 |
|
jespergravgaard
|
f31dc244b5
|
fixed tests
|
2019-05-19 00:07:52 +02:00 |
|
jespergravgaard
|
fa6e54fb87
|
Added test ref
|
2019-05-18 23:58:24 +02:00 |
|
jespergravgaard
|
b5a9d47472
|
Improved code by avoiding unnecesary casts
|
2019-05-18 23:58:04 +02:00 |
|
jespergravgaard
|
abfa6f875f
|
Added a few tests
|
2019-05-18 22:40:46 +02:00 |
|
jespergravgaard
|
eed4018450
|
Added a blitter box
|
2019-05-18 22:07:16 +02:00 |
|
jespergravgaard
|
9cec38d075
|
Fixed negative numbers, zero-addition, zero inlining.
|
2019-05-18 21:37:34 +02:00 |
|
jespergravgaard
|
fe41c2ba42
|
Fixed array indexing using word-size indices
|
2019-05-18 13:58:26 +02:00 |
|
jespergravgaard
|
06aed186e2
|
Fixed type inference for rangenext
|
2019-05-18 12:43:13 +02:00 |
|
jespergravgaard
|
13cc9e453c
|
Fixed a few tests. +0 in derefidx and rangenext() on signed words.
|
2019-05-18 12:23:13 +02:00 |
|
jespergravgaard
|
855434afa9
|
Added missing fragment and ternary type inference test
|
2019-05-18 08:51:22 +02:00 |
|
jespergravgaard
|
9f27006540
|
Working on casts
|
2019-05-18 08:14:34 +02:00 |
|
Jesper Gravgaard
|
c200eaa535
|
Working on casts
|
2019-05-18 00:37:09 +02:00 |
|
jespergravgaard
|
0876603ca7
|
Working on casts
|
2019-05-17 08:55:04 +02:00 |
|
jespergravgaard
|
71cedd4d29
|
Working on fixing casts.
|
2019-05-17 01:07:47 +02:00 |
|
Jesper Gravgaard
|
17a0db4472
|
Minor fixes
|
2019-05-16 08:51:14 +02:00 |
|
jespergravgaard
|
6cfa5c750c
|
Implemented cast constant identification. 282/359
|
2019-05-14 00:16:17 +02:00 |
|
jespergravgaard
|
6e0b665423
|
Added an array initializer with negative values.
|
2019-05-13 09:24:23 +02:00 |
|
jespergravgaard
|
3d56f3705a
|
Array initializer with number handling - 278/358
|
2019-05-13 09:17:30 +02:00 |
|
jespergravgaard
|
fe60b31f73
|
New literal word constructor handling - 277/354
|
2019-05-12 21:18:55 +02:00 |
|
jespergravgaard
|
07b67efb7c
|
Eliminating SymbolTypeMulti - 274/351
|
2019-05-12 14:42:41 +02:00 |
|
jespergravgaard
|
7767c1216b
|
Added missing fragment - 274/351
|
2019-05-12 14:32:16 +02:00 |
|
jespergravgaard
|
ef05cc8c3b
|
Eliminating SymbolTypeMulti - 273/351
|
2019-05-12 13:56:04 +02:00 |
|
jespergravgaard
|
8db7736830
|
Improved no-cast detection. 273/351
|
2019-05-12 13:51:36 +02:00 |
|
jespergravgaard
|
e09d81cd13
|
Improved no-cast detection. 271/351
|
2019-05-12 12:59:47 +02:00 |
|
jespergravgaard
|
6e566852ba
|
Fixed assignment type conversions and unnecesary byte/word casts. 269/351
|
2019-05-12 12:27:48 +02:00 |
|
Jesper Gravgaard
|
e56e66acd8
|
Working on multiply/divide.
|
2019-05-11 23:16:03 +02:00 |
|
Jesper Gravgaard
|
bd6ece561b
|
Fixed multiply to shift. 260/351.
|
2019-05-11 20:14:14 +02:00 |
|
Jesper Gravgaard
|
3c8845d6a6
|
Added alias elimination to constant optimization phase. 255/351.
|
2019-05-11 19:55:03 +02:00 |
|
Jesper Gravgaard
|
51c10d29c3
|
Working on fixing type conversion casting. Still a work in progress!
|
2019-05-10 11:20:37 +02:00 |
|
jespergravgaard
|
f6f25e728b
|
Working on special word+byte downgrade. - down to 190/351.
|
2019-05-09 07:43:47 +02:00 |
|
jespergravgaard
|
ea990b5e87
|
Working on fixing test errors - fixed pointer-dereference-indexed - 228/350 working.
|
2019-05-08 23:24:48 +02:00 |
|
jespergravgaard
|
64a8389e6e
|
Working on fixing test errors - 228/350 working.
|
2019-05-08 00:11:33 +02:00 |
|
jespergravgaard
|
21b3114b58
|
Working on fixing test errors - 202/350 working.
|
2019-05-07 23:39:57 +02:00 |
|
jespergravgaard
|
cab95b6ba5
|
Working on fixing test errors - 198/350 working.
|
2019-05-07 22:08:59 +02:00 |
|
jespergravgaard
|
44e9cff722
|
Working on fixing test errors - 198/350 working.
|
2019-05-07 21:53:08 +02:00 |
|
jespergravgaard
|
82729cb4d9
|
Working on fixing test errors - 196/350 working.
|
2019-05-07 21:03:26 +02:00 |
|
jespergravgaard
|
47aa623f25
|
Working on fixing test errors.
|
2019-05-07 18:52:01 +02:00 |
|
jespergravgaard
|
87e6fecb8f
|
Working on fixing test errors.
|
2019-05-07 09:19:50 +02:00 |
|
jespergravgaard
|
b097b5c2c5
|
Working on fixing test errors.
|
2019-05-07 01:46:23 +02:00 |
|
jespergravgaard
|
7e174898b8
|
Number conversion working. Added program expression iterator.
|
2019-05-07 00:59:54 +02:00 |
|
jespergravgaard
|
49ae6a0e66
|
Working on number conversion... not compiling atm.
|
2019-05-06 08:06:18 +02:00 |
|
jespergravgaard
|
d0d5b5715b
|
Implemented framework for number type conversion - the BinaryExpressionIterator. Added first case (type match) in new PassNAddNumberTybeConversions.
|
2019-05-06 01:08:41 +02:00 |
|
jespergravgaard
|
35ec65ce94
|
Implemented much of integer type conversion and the number type. Still a lot left to do.
|
2019-05-05 01:26:40 +02:00 |
|
jespergravgaard
|
facd8c6c5b
|
Expanded testing of types to include operators
|
2019-05-03 08:45:33 +02:00 |
|
jespergravgaard
|
eb895fffef
|
Added parser for typed integer literal postfix (ub/sb/uc/sc/uw/sw/ui/si/us/ss/ud/sd/ul/sl and l)
|
2019-05-02 01:23:49 +02:00 |
|
jespergravgaard
|
fd72ecc0c7
|
Added syntax for typed integer literal postfix (ub/sb/uc/sc/uw/sw/ui/si/us/ss/ud/sd/ul/sl and l)
|
2019-04-27 12:12:44 +02:00 |
|
jespergravgaard
|
93937b60d0
|
Merge remote-tracking branch 'origin/master' into 180-type-system
|
2019-04-27 08:13:57 +02:00 |
|
jespergravgaard
|
4735c8940b
|
Added fixed comments to sandbox
|
2019-04-27 08:13:44 +02:00 |
|
jespergravgaard
|
e43a2e2c61
|
Added assert securing that phi predecessors are direct predecessors.
|
2019-04-27 08:04:44 +02:00 |
|
Jesper Gravgaard
|
c64713c913
|
Fixed char - number. Closes #184.
Also fixed problem with nested ternary. Closes #185.
|
2019-04-25 07:58:17 +02:00 |
|
jespergravgaard
|
58502ecf79
|
Added issue links to most coments. Added separate test demonstrating nested ternary problem.
|
2019-04-24 00:46:45 +02:00 |
|
jespergravgaard
|
7edc154133
|
Added Paul Nelsen sandbox test of sivision - with sprintf skeleton implementation.
|
2019-04-23 23:26:47 +02:00 |
|
jespergravgaard
|
1fa41859b0
|
Starting work on type system.
|
2019-04-23 20:42:18 +02:00 |
|
jespergravgaard
|
21d7c6849c
|
Added tests failing due to constant type interference problems. Working on #181
|
2019-04-22 13:47:22 +02:00 |
|
jespergravgaard
|
88e3ad66b7
|
Fixed test.
|
2019-04-22 13:35:52 +02:00 |
|
jespergravgaard
|
7427c8bbcf
|
Added typeid(expr) that returns byte representing the type of the expression. Closes #180
|
2019-04-22 11:50:48 +02:00 |
|
jespergravgaard
|
94bd8cef0a
|
Added support for special types signed/unsigned (that are implicitly int). Closes #158
|
2019-04-22 09:20:14 +02:00 |
|
jespergravgaard
|
e9ece1a8f0
|
REmoved wrong dependency.
|
2019-04-21 21:13:08 +02:00 |
|
jespergravgaard
|
7db4308b94
|
Implemented de-inlining of ptr[w] with word-size indexes.
|
2019-04-21 01:22:14 +02:00 |
|
jespergravgaard
|
957fe13e4e
|
Improved word array test.
|
2019-04-21 00:26:18 +02:00 |
|
jespergravgaard
|
6b287741b5
|
Removed unused fragments.
|
2019-04-20 23:52:29 +02:00 |
|
jespergravgaard
|
c44fe2138a
|
Changed syntax a bit
|
2019-04-20 23:02:39 +02:00 |
|
jespergravgaard
|
fc75878f9d
|
Now optimizing *(ptr+n) into ptr[n] when possible.
|
2019-04-20 22:12:56 +02:00 |
|
jespergravgaard
|
d6427d58df
|
Eliminating redundant casts.
|
2019-04-20 13:08:12 +02:00 |
|
jespergravgaard
|
27444f7c7d
|
Implemented test simulating a struct.
|
2019-04-20 11:13:49 +02:00 |
|
jespergravgaard
|
5da972b5b2
|
Improved test.
|
2019-04-20 01:48:11 +02:00 |
|
jespergravgaard
|
1ea5a3af76
|
Added directive reserve($02, $03, $04) for reserving zero page variables to avoid the compiler using them. Directive can be added to functions or globally. Closes #133
|
2019-04-20 01:44:54 +02:00 |
|
jespergravgaard
|
fc79ac187e
|
Updated version number
|
2019-04-19 13:52:09 +02:00 |
|
jespergravgaard
|
85b904b46f
|
Updated manual.
|
2019-04-19 13:50:48 +02:00 |
|
jespergravgaard
|
dda11749e2
|
Tests now working with proper word/dword-array indexing! Closes #139
|
2019-04-19 13:36:08 +02:00 |
|
jespergravgaard
|
5a54b45ed9
|
Fixing more tests with word arrays/pointers. Preparing for #139
|
2019-04-19 11:56:21 +02:00 |
|
jespergravgaard
|
4e93f0b056
|
Fixing more tests with word arrays/pointers. Preparing for #139
|
2019-04-19 11:25:29 +02:00 |
|
jespergravgaard
|
898dc3e833
|
Fixing more tests with word arrays/pointers. Preparing for #139
|
2019-04-19 11:16:40 +02:00 |
|
jespergravgaard
|
4f04aa47b7
|
Fixing tests with word arrays/pointers. Preparing for #139
|
2019-04-19 10:50:15 +02:00 |
|
Jesper Gravgaard
|
eb26618295
|
Fixed issue where compound addignments multiplied the index by sizeof() squared.
|
2019-04-19 08:42:42 +02:00 |
|
jespergravgaard
|
46e2f3ced4
|
Implemented pointer array indexing sizeof() fixing
|
2019-04-18 01:26:51 +02:00 |
|
jespergravgaard
|
287a6ecb2e
|
Implemented pointer math (+/-) fixing
|
2019-04-18 01:06:22 +02:00 |
|
jespergravgaard
|
85317a1c5e
|
Working on pointer math and sizeof(element)
|
2019-04-18 00:32:28 +02:00 |
|
jespergravgaard
|
7b157f9b44
|
Added tests suitable for changing word-pointer behavior. Preparing for #139
|
2019-04-17 23:58:10 +02:00 |
|
jespergravgaard
|
d55a958c70
|
Implemented sizeof(expr). Closes #171
|
2019-04-17 21:27:32 +02:00 |
|
jespergravgaard
|
417a1d4b22
|
Implemented sizeof(type).
|
2019-04-17 09:34:10 +02:00 |
|
jespergravgaard
|
0116dcfe55
|
Brought fire sample closer to the original.
|
2019-04-16 00:45:21 +02:00 |
|
jespergravgaard
|
f41744cd96
|
Added support for comma-separated variable declarations in for()-loop init. Closes #159
|
2019-04-16 00:22:47 +02:00 |
|
jespergravgaard
|
24ca7e9c68
|
Implemented support for comma-separated variable declarations.
|
2019-04-15 23:13:15 +02:00 |
|
jespergravgaard
|
0f5d8f906b
|
Added support for comma-expressions (and fixed non-working unused variable elimination). Closes #157
|
2019-04-15 14:03:50 +02:00 |
|
jespergravgaard
|
f5afa992c1
|
Updated testdata.
|
2019-04-15 11:53:07 +02:00 |
|
jespergravgaard
|
aecf1ea7b2
|
Optimized unrolled plasma to ~16.500 cycles per screen.
|
2019-04-15 11:31:15 +02:00 |
|
jespergravgaard
|
8234877eeb
|
Fixed error where classic for() failed when init was empty. Closes #163
|
2019-04-15 10:44:18 +02:00 |
|
jespergravgaard
|
50c54e2d36
|
Fixed error where classic for() failed when increment was empty. Closes #160
|
2019-04-15 10:37:00 +02:00 |
|
jespergravgaard
|
21f65d7ddf
|
Rewrote many example routines to use multiply/divide instead of shifts.
|
2019-04-15 10:20:55 +02:00 |
|
jespergravgaard
|
056289aaaf
|
Rewrote d018/dd00 routines to use multiply/divide.
|
2019-04-15 09:54:48 +02:00 |
|
jespergravgaard
|
dfe6663082
|
Added handling of *1 / /1.
|
2019-04-15 09:44:32 +02:00 |
|
jespergravgaard
|
38d67ea581
|
Merge remote-tracking branch 'origin/master'
|
2019-04-15 09:33:59 +02:00 |
|
jespergravgaard
|
5f1496e33d
|
Implemented rewriting of multiply/divide by powers of 2 to shifts. Closes #165
|
2019-04-15 09:33:49 +02:00 |
|
Jesper Gravgaard
|
dd99f73b8e
|
Merge remote-tracking branch 'origin/master'
|
2019-04-11 22:24:25 +02:00 |
|
Jesper Gravgaard
|
c8cfb3406c
|
Changed comparison rewriting to only rewrite when comparing to bytes (not words).
|
2019-04-11 22:24:07 +02:00 |
|
jespergravgaard
|
c61b1556cd
|
Optimized imports etc.
|
2019-04-11 21:17:43 +02:00 |
|
Travis Fisher
|
c9cce92509
|
make live range analysis use statement index instead of statement where it helps with speed
|
2019-04-11 00:14:31 -04:00 |
|