jespergravgaard
e01be9d33b
Added a partial 3x5 font - ref data
2018-03-25 13:31:57 +02:00
jespergravgaard
f652d14fed
Added a partial 3x5 font
2018-03-24 22:37:11 +01:00
jespergravgaard
7922d0f21a
Added missing fragments
2018-03-22 22:30:16 +01:00
Jesper Gravgaard
71e4e5d22d
Added shift support to CHARGEN tester
2018-03-22 21:50:25 +01:00
Jesper Gravgaard
49d2aaaf24
Merge remote-tracking branch 'origin/master'
2018-03-22 18:34:09 +01:00
Jesper Gravgaard
981d925a4d
Coding CHARGEN tester
2018-03-22 18:34:04 +01:00
jespergravgaard
18bf726d1c
Fixed P key
2018-03-22 00:04:41 +01:00
Jesper Gravgaard
cfd0e836ce
Added keyboard space check test program.
2018-03-20 00:52:55 +01:00
Jesper Gravgaard
b796a248c0
Added a fragment
2018-03-20 00:44:57 +01:00
Jesper Gravgaard
f613cbbe36
Added keyboard library and tester
2018-03-20 00:30:27 +01:00
jespergravgaard
2015c17d25
Updated fragment reference
2018-03-19 01:22:04 +01:00
jespergravgaard
8f6db3a39b
Implemented keyboard routines for reading the keyboard matrix status.
2018-03-19 01:15:18 +01:00
jespergravgaard
171b015d5f
Implemented simple DTV raster test
2018-03-18 16:35:47 +01:00
jespergravgaard
f212c55c02
Fixed const casting problem
2018-03-11 21:45:26 +01:00
jespergravgaard
979cb91eeb
Moved operator type inference to Operator class. Improved type inference.
2018-03-11 18:44:48 +01:00
jespergravgaard
cfa3ab9047
Renamed calculate() to calculateLiteral()
2018-03-10 21:14:51 +01:00
jespergravgaard
ec791672ce
Removed ConstantValueCalculator.
2018-03-10 21:11:24 +01:00
Jesper Gravgaard
18335aa29a
Moved constant literal value calculation into Operator
2018-03-10 17:06:42 +01:00
Jesper Gravgaard
1fa3d8bbbf
Moved statements, symbols and values into packages
2018-03-06 20:54:52 +01:00
Jesper Gravgaard
fd0b667b19
Moved expression operators to separate package
2018-03-06 19:50:26 +01:00
Jesper Gravgaard
73afb3d1be
Moved expression operators to separate classes.
2018-03-05 23:49:09 +01:00
Jesper Gravgaard
7876b98573
Caching alive combinations for better performance.
2018-03-05 10:45:07 +01:00
Jesper Gravgaard
133f8603c7
Fixed precedence problems for casts and inc/dec
2018-03-05 10:10:56 +01:00
jespergravgaard
f4196b9e67
Fixed log
2018-03-05 01:14:10 +01:00
jespergravgaard
f31eb7b1f0
Added scaled sin generator - found problem with cast & precedence.
2018-03-05 01:00:33 +01:00
jespergravgaard
0663888a3f
Added initial min/max sin-generator.
2018-02-26 23:00:10 +01:00
jespergravgaard
d5fd4a41c3
Fixed loop problem.
2018-02-25 19:27:36 +01:00
jespergravgaard
53d021bae3
Added second 8-bit sinus test (against 16-bit sinus)
2018-02-25 14:35:20 +01:00
jespergravgaard
2789361724
Fixed 8-bit sinus implementation.
2018-02-25 14:07:44 +01:00
jespergravgaard
7d26c74c21
Added initial 8-bit sinus (not quite working yet.)
2018-02-25 11:10:50 +01:00
jespergravgaard
97bc9870f9
Syntax changes
2018-02-25 00:39:19 +01:00
jespergravgaard
651de919b3
Comment fixed
2018-02-25 00:10:10 +01:00
jespergravgaard
73bdd4ff8d
Optimized sin /128 part.
2018-02-25 00:08:11 +01:00
jespergravgaard
f0917c7bed
Optimized ZP coalesce vastly.
2018-02-24 21:06:25 +01:00
jespergravgaard
1ec9060962
Added clobber test to ZP coalesce
2018-02-24 14:12:37 +01:00
jespergravgaard
a87a97c669
Moved sin to separate method.
2018-02-24 13:02:15 +01:00
jespergravgaard
948db1a389
Fixed lo/hi test
2018-02-24 08:14:01 +01:00
jespergravgaard
028fd75878
Fixed > & < for pointers.
2018-02-24 00:54:12 +01:00
jespergravgaard
b3537e3b66
Implemented full -$7fff-$7fff range word sinus generator.
2018-02-24 00:46:25 +01:00
jespergravgaard
6702baa875
Fixed lo/hi of dwords in constants.
2018-02-23 22:15:10 +01:00
jespergravgaard
37bfd18716
Working a bit on the sinus table generator.
2018-02-20 23:12:39 +01:00
jespergravgaard
696d1a1f5f
Working a bit on sinus table generator. Tested resulting sinus - it is within +/-2 of a java-calculated sinus.
2018-02-20 22:41:36 +01:00
jespergravgaard
db603554ac
Using reciprocal multiplication for divisions inside loop.
2018-02-20 10:53:31 +01:00
jespergravgaard
d3070fec14
Implemented first sinus generator using sinx=x-x^/3!+x^/5!.
2018-02-19 08:29:47 +01:00
jespergravgaard
a695a94422
Extended linear table gen with two tables.
2018-02-18 20:41:36 +01:00
jespergravgaard
b5dfef7368
Optimized line table generator. Improved const identification in phi-values.
2018-02-18 19:52:51 +01:00
jespergravgaard
0478bc7404
Limited label usage for constant integers referenced outside scope. Optimized division.
2018-02-18 19:39:08 +01:00
jespergravgaard
d3898d717e
Using labels for constant integers referenced outside scope.
2018-02-18 17:49:03 +01:00
jespergravgaard
76d3e25b84
Implemented inline dword constructor dword dw = { wl, wh };
2018-02-18 15:35:17 +01:00
jespergravgaard
0c7883532e
Split multiply tests for performance
2018-02-16 08:59:54 +01:00
jespergravgaard
8f21ffc0e4
Implemented signed word multiplication & test.
2018-02-16 01:13:57 +01:00
jespergravgaard
34d3c732da
Implemented word multiplication
2018-02-15 20:36:26 +01:00
jespergravgaard
b5a79848f3
Implemented dword ASM and printing
2018-02-15 19:50:33 +01:00
jespergravgaard
8b54f38640
Implemented bitshift signed byte multiply.
2018-02-15 12:35:40 +01:00
Jesper Gravgaard
c936da289e
Implemented normal binary multiply for unsigned integers - mul8u().
2018-02-14 11:30:31 +01:00
Jesper Gravgaard
a6f32bea13
Renamed multiply.kc to fastmultiply.kc - and methods multiply()/signed_multiply() to mulf8u(), mulf8s()
2018-02-14 10:05:18 +01:00
Jesper Gravgaard
7900c846c9
Adde useful comment
2018-02-13 23:21:24 +01:00
Jesper Gravgaard
3eb08597cf
Implemented 16bit signed division.
2018-02-13 23:10:47 +01:00
Jesper Gravgaard
1fd0cd6874
Moved remainder to global var
2018-02-13 22:07:01 +01:00
Jesper Gravgaard
8705527316
Fixed conflict
2018-02-13 21:40:52 +01:00
Jesper Gravgaard
a50d685574
Fixed problem with phi lifting not updating predecessor in phi blocks when introducing new blocks. Implemented signed division for bytes.
2018-02-13 21:27:17 +01:00
jespergravgaard
1feed93b43
Renamed long branch fix label.
2018-02-13 13:05:46 +01:00
jespergravgaard
aec15a3125
Removed a bit of unused code.
2018-02-13 12:46:35 +01:00
jespergravgaard
c8a2d03550
Fixed register coalesce issues (Double.MIN_VALUE is unexpectedly positive).
2018-02-13 04:23:44 +01:00
jespergravgaard
9f80f71c64
Isolated KickAss assembly during test. Fixed long branches. Closes #62
2018-02-13 03:34:21 +01:00
jespergravgaard
2db042801b
Isolated KickAss assembly during test. Fixed long branches. Closes #62
2018-02-13 03:34:01 +01:00
jespergravgaard
0d6ce93e93
Added KickAss assembly to Test
2018-02-12 23:41:46 +01:00
jespergravgaard
52dd6035a0
Dropped JSON serialization. Added KickAss JAR.
2018-02-12 21:39:26 +01:00
jespergravgaard
6b43d797f5
Using address-of in test-division.
2018-02-11 23:55:52 +01:00
jespergravgaard
3f62d86312
Implemented working address-of operator byte* pte = &b1;
2018-02-10 22:08:36 +01:00
jespergravgaard
085aa9f825
Added missing toString/()
2018-02-03 15:46:12 +01:00
jespergravgaard
623f83a076
Added address-of operator. Working in basic programs. Transience of variables not implemented so there is a risk the variable being referenced is optimized into a constant or removed. Closes #78
2018-02-03 13:20:34 +01:00
jespergravgaard
7343a85b91
Moved division into library
2018-02-01 22:55:26 +01:00
jespergravgaard
b502c26140
Optimizing zeropage coalesce to minimize moving values around. Closes #80
2018-02-01 22:36:54 +01:00
jespergravgaard
45302103fa
Implemented 16bit division. Added support for word arrays. (idx must be multiplied by 2 manually)
2018-02-01 20:17:08 +01:00
jespergravgaard
e0124ee654
Added 8bit unsigned division. Ensured that pointers are generated into ASM labels.
2018-01-31 21:27:23 +01:00
jespergravgaard
b466f2f5cc
Added test provoking a register clobber error.
2018-01-30 22:23:07 +01:00
jespergravgaard
63f6620246
Implemented register(A/X/Y) keyword for allocating variables to specific register. Closes #70
2018-01-30 22:18:49 +01:00
jespergravgaard
7e268c5b4f
Moving declared register through the variable chain.
2018-01-30 11:50:18 +01:00
jespergravgaard
88744c8624
Consolidating variable methods - preparing to remove the 3 sub-classes.
2018-01-30 10:23:55 +01:00
jespergravgaard
6a012a3fd0
Added register keyword
2018-01-30 10:04:35 +01:00
jespergravgaard
02d7170a4c
Made ASM parenthesis hard.
2018-01-28 23:22:22 +01:00
jespergravgaard
341d8c5556
Renamed dword fragments from vl... to vd...
2018-01-28 23:09:47 +01:00
jespergravgaard
546644b7d3
Added parenthesis to ASM expressions.
2018-01-28 23:06:19 +01:00
jespergravgaard
9b09aaab14
Made dword value higher (>$80000000)
2018-01-28 22:15:09 +01:00
jespergravgaard
3d33851983
Improved dword type inference.
2018-01-28 17:21:57 +01:00
jespergravgaard
9025b7d64a
Removed verbose log.
2018-01-28 16:39:58 +01:00
jespergravgaard
fff4299fb2
Added dword and signed dword. Closes #76
2018-01-28 16:19:15 +01:00
jespergravgaard
b3a1c330a7
Removed two synthable fragments
2018-01-28 10:25:40 +01:00
jespergravgaard
4bbddfb5e2
Added comment.
2018-01-24 23:34:35 +01:00
jespergravgaard
f599eb2735
Expanded inline casting to also handle nop casts of pointer derefs.
2018-01-24 23:29:44 +01:00
jespergravgaard
15c1108d2c
Expanded inline casting to also handle word/pointer casts. Closes #2 .
2018-01-22 00:31:28 +01:00
jespergravgaard
1646f9d3ff
Implemented inline casting - allowing for improved ASM when doing no-op casting.
2018-01-21 23:24:28 +01:00
Jesper Gravgaard
eab2e64154
Dropped suite again.
2018-01-21 16:30:37 +01:00
Jesper Gravgaard
1d54fec7be
Put tests into suite to get deterministic sequencing.
2018-01-21 11:39:06 +01:00
Jesper Gravgaard
9328608fe6
Rebuilt test files with new synth ASM's.
2018-01-21 11:14:20 +01:00
Jesper Gravgaard
2d8cf433f6
Sorting synthesis by clobber when printing. Added an handling of synths with equal cycles & clobber but different ASM.
2018-01-21 09:39:37 +01:00
jespergravgaard
267d006752
Improved bigscroll by inlining screen lines in array assignments.
2018-01-19 00:59:51 +01:00
jespergravgaard
30690b6306
Removed a bunch of synth rules. Added a few fragments.
2018-01-19 00:10:09 +01:00
jespergravgaard
cdbc2e05cf
Removed one synth rule. Fixed flaw in others.
2018-01-18 23:51:42 +01:00
Jesper Gravgaard
eadf85a048
Improved fragment generation further. Rules need clean-up soon to improve efficiency.
2018-01-18 23:21:31 +01:00
jespergravgaard
c7b6989c6c
Removed verbosity
2018-01-16 16:58:11 +01:00
jespergravgaard
08f2e3a6b8
Added rasterbar test program
2018-01-15 22:16:25 +01:00
jespergravgaard
13bd9509d1
Fixed issue with loop depth - now calculated corrent when some functions have no loops.
2018-01-15 21:02:49 +01:00
jespergravgaard
4c22877f0e
Only logging synthesis issue when set to verbose
2018-01-07 12:41:13 +01:00
jespergravgaard
a6e75ffcb0
Implemented fragment tests - first for assignment to unsigned bytes.
2018-01-07 11:42:46 +01:00
jespergravgaard
a047fedebf
Moved KC test files into separate folder
2018-01-06 16:36:54 +01:00
jespergravgaard
2603740d15
Moved KC test files into separate folder
2018-01-06 16:36:39 +01:00
jespergravgaard
40153fc6d6
Working on optimal synthesis
2018-01-06 14:01:40 +01:00
jespergravgaard
30d77c1450
Working on optimizing synthesis
2018-01-05 22:29:21 +01:00
jespergravgaard
b55485db50
Implemented sub-fragment clobber avoidance. Improved best template updating. Now the graph-based fragment synthesis system works. Still need to clean-up the synthesis rules.
2018-01-03 08:15:17 +01:00
jespergravgaard
e9965580a4
Iplemented graph based synthesis. Working on the kinks - eg. issue #75
2018-01-03 01:00:55 +01:00
jespergravgaard
b29ed11a81
Renamed fragment system classes in prepararion of graph based solution.
2018-01-02 17:09:42 +01:00
jespergravgaard
3595db56db
Renamed fragment system classes in prepararion of graph based solution.
2018-01-02 14:13:08 +01:00
jespergravgaard
2084be92e0
Implemented the rest of the comparison test. Fixed a double jump problem.
2018-01-02 10:17:59 +01:00
jespergravgaard
53d8afbb1d
Fixed an error in with comparison rewriting
2018-01-01 22:59:06 +01:00
jespergravgaard
4d46820cf4
Reformatted for code style.
2018-01-01 21:25:11 +01:00
jespergravgaard
20b9ab6881
Tried adding more memory for the Junit JVM
2018-01-01 15:59:15 +01:00
jespergravgaard
939b70aa23
Started implementing new style fragment synthesis rules. Yielding quite good initial optimizations.
2018-01-01 15:09:47 +01:00
jespergravgaard
269c1343ed
Implemented usage sorting and a file details logging option.
2017-12-31 00:15:23 +01:00
jespergravgaard
be37a45e36
Closes #9
2017-12-30 23:55:14 +01:00
jespergravgaard
14616458e5
Used usage module to identify & remove all unneeded fragments. Many unused ones moved into a new "unused" folder to be removed later.
2017-12-30 23:54:27 +01:00
jespergravgaard
aeba75906b
Removed all redundant fragment ASM files.
2017-12-30 22:17:42 +01:00
jespergravgaard
4f30cef2d3
Implemented asm template usage statistics. Now prefer synthesis over loading.
2017-12-30 21:59:23 +01:00
jespergravgaard
203af62173
Refactoring fragment synthesis to allow scoring of files & synthesis.
2017-12-30 19:22:44 +01:00
jespergravgaard
58c206cef4
Added more options to CompileLog for controlling verbosity.
2017-12-30 17:31:22 +01:00
jespergravgaard
174346d0f1
Improved Fragment Synthesis - trying all possible combinations. Closes #71
2017-12-30 17:24:30 +01:00
jespergravgaard
66fdfb08a9
Improved ZP detection
2017-12-30 14:18:57 +01:00
jespergravgaard
2367aa93cd
Added final score to the log
2017-12-30 13:45:59 +01:00
jespergravgaard
c7b137d631
Added working test for signed multiplication. Refactored AsmFragment synthesis away from relying on vwuc.
2017-12-30 11:55:28 +01:00
jespergravgaard
b95c7e20f5
Moved multiply into a library
2017-12-29 22:45:19 +01:00
jespergravgaard
df227e0b49
Implemented fast multiplication - tested that all results are correct.
2017-12-29 19:35:54 +01:00
jespergravgaard
fa00ecfbbf
Test data for alignment test
2017-12-29 18:20:44 +01:00
jespergravgaard
694fb66379
Added data alignment directive for arrays/strings.
2017-12-29 18:20:11 +01:00
jespergravgaard
39925809e3
Removed AsmFragment log again
2017-12-29 16:34:55 +01:00
jespergravgaard
b2a5e5184b
Removed AsmFragment log again
2017-12-29 16:19:23 +01:00
jespergravgaard
6b79ecc537
Implemented all fast multiply tables.
2017-12-29 16:05:27 +01:00
jespergravgaard
db6c1f54db
Improved log format slightly
2017-12-29 13:53:16 +01:00
jespergravgaard
5ec1070b41
Improved tests for CI
2017-12-29 11:40:03 +01:00
jespergravgaard
31e412bb11
Slimming log output
2017-12-29 11:21:11 +01:00
jespergravgaard
32d7db5ce7
Moved tests into Maven Test area to allow maven-based testing.
2017-12-28 15:34:32 +01:00
jespergravgaard
ff51d04356
Improved KC mul table gen.
2017-12-28 15:10:56 +01:00
jespergravgaard
d1ee716008
Improved KC mul table gen.
2017-12-28 14:46:31 +01:00
jespergravgaard
5e25684cf9
Slight improvement of code
2017-12-28 04:38:19 +01:00
jespergravgaard
6dcafb83c2
Optimized KC based multiply table generator.
2017-12-28 04:32:26 +01:00
jespergravgaard
8198b8f168
Generating fast multiply table in both ASM and KC - now word-based generation.
2017-12-28 04:13:31 +01:00
jespergravgaard
389b6042ed
Generating fast multiply table in both ASM and KC.
2017-12-28 03:32:59 +01:00
jespergravgaard
bb0aeb9e3b
Implementing fast multiplication KC program.
2017-12-28 01:50:55 +01:00
jespergravgaard
6532fdd002
Added array length mismatch error in Pass1.
2017-12-28 00:17:39 +01:00
jespergravgaard
19a040345f
Added array zero initializer and ASM .fill for arrays declared with a size but without initializer.
2017-12-27 23:53:51 +01:00
jespergravgaard
62a56f23fb
Removed unused LValueLoHiByte.
2017-12-27 22:48:26 +01:00
jespergravgaard
4bcf51732b
Added aseetion stopping compilation at pass 3 if any value list has survived.
2017-12-27 22:22:53 +01:00
jespergravgaard
347fc03f47
Made all declared arrays/strings implicitly constant.
2017-12-27 22:08:15 +01:00
jespergravgaard
4a7dd31d40
Fixed word constructor detection to detect all inline word constructors.
2017-12-27 21:47:07 +01:00
jespergravgaard
212e8572de
Improved constant string detection. Type System is still a bit of a mess.
2017-12-27 20:52:38 +01:00
jespergravgaard
8a1dbc36d7
Refactored recursive value replacement into ValueReplacer. Moved VariableReplacer to a simple ValueReplacer. Added test for true inline word constructors.
2017-12-27 13:40:55 +01:00
jespergravgaard
a3a7d02cd7
Added test to confirm that pointer destinations can now be incremented corrently. Closes #29
2017-12-26 17:38:51 +01:00
jespergravgaard
b412a4aefc
Assignments are now expressions. For-loops can now contain assignments in the increment part. LValue handling reimplemented (lvalue no longer exist in parser - only expression). RValues now also contains pointer derefs. Complex array expressions (SCREEN+$100)[i] now possible as LValues. ASM fragment generation improved to handle new more complex LValues & RValues. Closes #5 . Closes #43
2017-12-26 17:24:30 +01:00
jespergravgaard
2c44783879
Added ALU potential for _word_ operator
2017-12-26 10:31:30 +01:00
jespergravgaard
91f22c44f0
Removed all ASM steps between ASM optimizations - result smaller log file.
2017-12-26 09:15:10 +01:00
jespergravgaard
42b026a757
Allowing ZP coalescing whenever registers are the same type (before variables had to be the same type).
2017-12-26 00:24:40 +01:00
jespergravgaard
e3353acbc9
Implemented syntax for composing word from two bytes word w = { b1, b2 };
...
Optimizer still needs to attempt to (and allow) placing the two byte variables directly at the lo/hi-vars of the word wo minimize moving data around.
Closes #37
2017-12-25 23:27:54 +01:00
Jesper Gravgaard
bd3c26b5ec
Fixed constant inlining inside constant value lists.
2017-12-25 20:53:52 +01:00
Jesper Gravgaard
e314794f0b
Implemented true recursive variable replacer that can replace into pointers/value lists. Also using this when building SSA. Prepared syntax ant type inference for building a word from 2 bytes using word w = { b1, b2 };
2017-12-25 20:19:53 +01:00
Jesper Gravgaard
eb6ee9bff8
Prepared parser for inline word expressions.
2017-12-23 15:35:13 +01:00
Jesper Gravgaard
10b8431833
Simplified fragment value naming further.
2017-12-23 10:49:18 +01:00
Jesper Gravgaard
8b96c1ae40
Merge remote-tracking branch 'gitlab/master'
2017-12-23 10:31:24 +01:00
Jesper Gravgaard
9d6fd3e1c9
Simplified fragment symbol naming
2017-12-23 10:31:20 +01:00
jespergravgaard
c38e9b85e4
Implemented signed words - first test works. Closes #22
2017-12-23 02:35:50 +01:00
jespergravgaard
978c1fb997
Improved readability.
2017-12-22 14:34:10 +01:00
jespergravgaard
b3649997b6
Simplified fragement synthesis.
2017-12-13 00:48:59 +01:00
jespergravgaard
177be17dd9
Last of fragment renaming completed (zpptrby1/zpptrsby1 => pbuz1/pbsz1)
2017-12-13 00:29:48 +01:00
jespergravgaard
49b8545232
Next part of fragment renaming completed (coby1/cosby1/cowo1/coswo1 => vbuc1/vbsc1/vwuc1/vwsc1)
2017-12-12 22:39:27 +01:00
jespergravgaard
07478e86b1
Next part of fragment renaming completed (zpby1/zpsby1 => vbuz1/vbsz1)
2017-12-12 20:53:22 +01:00
jespergravgaard
8b8095ff87
First part of fragment renaming completed (aby/xby/yby/asby/xsby/ysby => vbuaa/vbuxx/vbuyy/vbsaa/vbsxx/vbsyy)
2017-12-12 00:09:14 +01:00
Jesper Gravgaard
5a819659a0
Removed signed byte register usage by allowing the fragment binding to also look at the variable type.
2017-12-10 20:00:00 +01:00
Jesper Gravgaard
e2aa0cd7e0
Removed signed byte register usage by allowing the fragment binding to also look at the variable type.
2017-12-10 19:53:14 +01:00
jespergravgaard
69dba6ea27
Added casting problem test nocast.kc
2017-12-05 23:31:43 +01:00
jespergravgaard
a79853a4ec
Improved static ASM analysis to recognize & remove several LDA/LDX/LDY of the same value.
2017-12-05 22:01:32 +01:00
jespergravgaard
c1b2b8ab7d
Added sprite MSB
2017-12-05 21:49:40 +01:00
jespergravgaard
ad9873d201
Improved slightly
2017-12-05 01:15:17 +01:00
jespergravgaard
5b070b5a27
Added progress while generating sines
2017-12-05 01:11:31 +01:00
jespergravgaard
3569405dc1
Added some consts
2017-12-04 23:54:12 +01:00
jespergravgaard
56b74e7e0f
Implemented initial sinus sprites.
2017-12-04 23:48:14 +01:00
jespergravgaard
c74b86a616
Moved tables into methods.
2017-12-03 23:24:25 +01:00
jespergravgaard
9ea1d4f2c1
Minor refactoring improving sine example.
2017-12-03 23:17:13 +01:00
jespergravgaard
c769aabc0a
Minor refactoring improving float lib.
2017-12-03 23:08:47 +01:00
jespergravgaard
80d5f2bf9d
Updated print test reference data.
2017-12-03 22:59:25 +01:00
jespergravgaard
e18a8cb7d8
Added library for using BASIC functions. Improved print library. Added test creating a sine. Added asserts for methods with to few/many parameters. Added assert for requiring procedure return value. Added som missing fragments.
2017-12-03 22:57:54 +01:00
jespergravgaard
878d3ae36b
Added tests for to few and many method parameters
2017-12-03 17:01:23 +01:00
jespergravgaard
87f58d8782
Implemented check in pass1 ensuring that all used vars have been assigned a value. Closes #8 . Closes #21 .
2017-12-03 16:49:56 +01:00
jespergravgaard
b43489f11a
Implemented ASM long label relabelling. Closes #57
2017-12-03 15:12:20 +01:00
jespergravgaard
defd957837
Intorduced better error when assigning a constant. Closes #19
2017-12-03 14:26:28 +01:00
jespergravgaard
ee5b113b3a
Declared constants only create a single version. Closes #34 .
2017-12-03 14:01:31 +01:00
jespergravgaard
0323fb0a0d
Fixed tests to take adcantadge of casting & int constant type elasticity.
2017-12-02 17:17:19 +01:00
jespergravgaard
9c39311d67
Preventing double imports. Closes #102
2017-12-02 16:56:58 +01:00
jespergravgaard
41fd3bc436
Implemented import functionality. Added import test. Closes #32 .
2017-12-02 16:35:13 +01:00
jespergravgaard
78dd8bc149
Added import keyword and failing test.
2017-12-02 00:01:53 +01:00
jespergravgaard
2f0bcfacd7
Rewrote syntax to separate declarations and statements.
2017-12-01 23:45:09 +01:00
jespergravgaard
fed99da261
Disallowing code outside methods. Closes #18 .
2017-12-01 23:25:53 +01:00