Chris Pressey
|
49e42af953
|
Implement if not and repeat forever .
|
2015-10-18 15:32:28 +01:00 |
|
Chris Pressey
|
c5998ed240
|
Compile repeat loops.
|
2015-10-18 13:55:40 +01:00 |
|
Chris Pressey
|
f7eb0d48a8
|
Spec, parse, evaluate, and analyze repeat blocks.
|
2015-10-18 13:37:35 +01:00 |
|
Chris Pressey
|
070ffacf69
|
Don't generate code for empty else blocks.
|
2015-10-17 18:25:54 +01:00 |
|
Chris Pressey
|
b794d8d273
|
Get serialization of relative labels correct.
|
2015-10-17 18:11:23 +01:00 |
|
Chris Pressey
|
a5c3b4725d
|
Pass address when serializing. Still wrong, of course.
|
2015-10-17 16:51:35 +01:00 |
|
Chris Pressey
|
b6bb64528f
|
Implement compiling if , but we need relative addressing first.
|
2015-10-17 16:34:02 +01:00 |
|
Chris Pressey
|
479b484313
|
Compile the rest of the instructions.
|
2015-10-17 16:17:35 +01:00 |
|
Chris Pressey
|
e62fd85ccf
|
Compile access of defined memory locations.
|
2015-10-17 15:46:28 +01:00 |
|
Chris Pressey
|
a3160a5166
|
Call defined routines.
|
2015-10-17 15:23:00 +01:00 |
|
Chris Pressey
|
643a48a2c5
|
Compiler object, labels, compile 'call'... It prints 'A'!
|
2015-10-17 15:06:50 +01:00 |
|
Chris Pressey
|
2ffff3bbdb
|
Make extern routines survive analysis.
|
2015-10-17 14:54:28 +01:00 |
|
Chris Pressey
|
49d90dfae0
|
Add syntax for extern routines, add syntax tests.
|
2015-10-17 13:50:21 +01:00 |
|
Chris Pressey
|
5b429adfd9
|
6502 opcodes are Emittables. Can compile simple programs now!
|
2015-10-17 11:08:25 +01:00 |
|
Chris Pressey
|
c0243ee6ba
|
Wire up the compiler and wring out obvious bugs.
|
2015-10-17 10:17:44 +01:00 |
|
Chris Pressey
|
ba55065060
|
Sketch the compiler.
|
2015-10-16 23:12:52 +01:00 |
|
Chris Pressey
|
bb7fbcda6c
|
Add Emitter framework, and 6502 Generator (will likely change.)
|
2015-10-16 22:59:35 +01:00 |
|
Chris Pressey
|
22c58ba556
|
Improve evaluator internals. Finish test suite for analysis.
|
2015-10-16 19:32:18 +01:00 |
|
Chris Pressey
|
c3a0659058
|
Write sufficient tests (I think) for analysis of if s.
|
2015-10-16 14:01:45 +01:00 |
|
Chris Pressey
|
d22edc52a9
|
Allow if analysis to pass (needs more tests.) Better styling.
|
2015-10-16 13:06:18 +01:00 |
|
Chris Pressey
|
9c201ccf07
|
Fix links in README. Implement Context.clone().
|
2015-10-16 10:54:12 +01:00 |
|
Chris Pressey
|
dd4c50fc50
|
Refactor to replace some sketchy code with code actually in use.
--HG--
rename : src/sixtypical/objects.py => src/sixtypical/model.py
|
2015-10-16 10:40:38 +01:00 |
|
Chris Pressey
|
6192a6a7f8
|
Add specific error for uninit outputs. Sketch if analysis.
|
2015-10-16 09:38:38 +01:00 |
|
Chris Pressey
|
f92056d640
|
REBOOT the entire language & implementation as version 0.2-PRE.
|
2015-10-16 09:30:24 +01:00 |
|
Cat's Eye Technologies
|
bd25d7b9f0
|
Make work under Hugs98 Sep2006. Falderal needs improving, though.
|
2014-04-26 15:17:53 +01:00 |
|
Cat's Eye Technologies
|
5a794a46e6
|
Name flags in routine outputs. Refactor game, add check_button.
|
2014-04-13 13:42:15 +01:00 |
|
Cat's Eye Technologies
|
730f9f1cb1
|
Make game even more interesting -- 619 bytes.
|
2014-04-13 13:14:04 +01:00 |
|
Cat's Eye Technologies
|
cbd88abc89
|
Vector tables, and copy routine into a vector table.
|
2014-04-13 12:41:26 +01:00 |
|
Cat's Eye Technologies
|
13d38dc45f
|
Immediate, or register, on LHS of copy command.
|
2014-04-13 12:12:53 +01:00 |
|
Cat's Eye Technologies
|
26448ccce5
|
More access of word tables. Game works with a word table now!
|
2014-04-13 12:06:36 +01:00 |
|
Cat's Eye Technologies
|
cbeac87a73
|
Beginnings of using word tables
|
2014-04-13 11:41:40 +01:00 |
|
Cat's Eye Technologies
|
16d6a54fb5
|
Parse (at the very least) decls for word and vector tables.
|
2014-04-12 21:54:00 +01:00 |
|
Cat's Eye Technologies
|
04678ca809
|
Block-level decls are visible in inner blocks.
|
2014-04-12 21:27:04 +01:00 |
|
Cat's Eye Technologies
|
8acde175ad
|
mergeRoutCtxs does not need to throw poisoning errors.
|
2014-04-12 20:37:42 +01:00 |
|
Cat's Eye Technologies
|
af7d65ee09
|
Fix example programs; allow externals to be called.
--HG--
rename : eg/hi.60p => eg/hello-world.60p
|
2014-04-12 19:13:13 +01:00 |
|
Cat's Eye Technologies
|
ad1e159317
|
Character tables. Emit tables properly.
|
2014-04-12 13:55:08 +01:00 |
|
Cat's Eye Technologies
|
7a3b3b1b25
|
Initial values for reserved tables; checks length is right.
|
2014-04-12 13:38:11 +01:00 |
|
Cat's Eye Technologies
|
f9d0c8173d
|
Handle tricky case of abs.interp.'ing a repeat loop.
|
2014-04-12 13:07:46 +01:00 |
|
Cat's Eye Technologies
|
00daec53a7
|
Check that block-level reserves do not supply initial value.
|
2014-04-12 12:23:10 +01:00 |
|
Cat's Eye Technologies
|
915b0cfef0
|
Number each temporary uniquely across program. Sweet!
|
2014-04-12 12:16:09 +01:00 |
|
Cat's Eye Technologies
|
7a7127fc06
|
Get storage location renaming almost right.
|
2014-04-12 12:12:14 +01:00 |
|
Cat's Eye Technologies
|
f3924d1bad
|
Lift block-level decls to top-level; still needs to rename them.
--HG--
rename : src/SixtyPical/Checker.hs => src/SixtyPical/Transformer.hs
|
2014-04-12 11:45:10 +01:00 |
|
Cat's Eye Technologies
|
aaec12d5e5
|
Initial, awkward support for block-level declarations, including a failing test.
|
2014-04-11 22:50:03 +01:00 |
|
Cat's Eye Technologies
|
cb53d461df
|
Backed out changeset fddaf1476975. Going to do this differently.
|
2014-04-11 22:29:44 +01:00 |
|
Cat's Eye Technologies
|
f43612e616
|
Initial, awkward support for temporaries, with failing test.
|
2014-04-11 22:13:35 +01:00 |
|
Cat's Eye Technologies
|
9532a9399c
|
byte table -> byte[SIZE] , and you can reserve them.
|
2014-04-11 21:47:18 +01:00 |
|
Cat's Eye Technologies
|
9a0896c90f
|
Explicit with syntax.
|
2014-04-11 21:26:27 +01:00 |
|
Cat's Eye Technologies
|
c8ddbd8edf
|
Uninitialized reserve d storage becomes .space in .data segment.
|
2014-04-11 21:05:00 +01:00 |
|
Cat's Eye Technologies
|
aacfb02375
|
reserve d storage locations can have initial values.
|
2014-04-11 20:35:45 +01:00 |
|
Cat's Eye Technologies
|
2fb9621a04
|
Switch to C++/Javascript-style comments, in whitespace production.
|
2014-04-11 16:21:54 +01:00 |
|