1
0
mirror of https://github.com/catseye/SixtyPical.git synced 2025-02-09 16:31:42 +00:00

55 Commits

Author SHA1 Message Date
Chris Pressey
b829836cdc Ability to parse static definitions and look them up. 2018-02-09 12:33:45 +00:00
Chris Pressey
ca1c877a60 Support indirect refs in st, e.g. st a, [ptr] + y. 2018-02-09 11:23:18 +00:00
Chris Pressey
34daad0e56 Make ld parse to a IndexedRef or IndirectRef (latter still todo.) 2018-02-08 11:04:11 +00:00
Chris Pressey
9778e083c1 Move test, add test, add assertion. 2018-02-06 11:52:50 +00:00
Chris Pressey
70ecd52e8a Retain some syntax compatibility: make table a postfix operator. 2018-02-06 11:34:21 +00:00
Chris Pressey
612ae588f7 Add some tests, fix some bugs, show that one bug remains. 2018-02-06 10:05:56 +00:00
Chris Pressey
74f8675761 Start of typedef support. 2018-02-05 18:12:48 +00:00
Chris Pressey
0be721667a Kind-of not-pretty syntax refactor to support adding typedefs. 2018-02-05 17:01:25 +00:00
Chris Pressey
bbd3a84c00 Retain silly 'name inside the type' syntax (a la C) for now. 2018-02-05 11:18:35 +00:00
Chris Pressey
eb1974eb8a Vector tables can be parsed. 2018-02-02 17:18:25 +00:00
Chris Pressey
b29716fccf Constraints for vector come immediately after the type expression. 2018-02-02 17:16:31 +00:00
Chris Pressey
548905dce4 Initialized byte tables need not have all 256 bytes initialized. 2018-02-02 16:31:23 +00:00
Chris Pressey
c7861d375c trash indicates a value is no longer considered meaningful. 2017-12-13 15:23:06 +00:00
Chris Pressey
f87bcf5ee4 Initial work on initialized byte tables. 2017-12-12 16:41:49 +00:00
Chris Pressey
0194d37bbd forward modifier on location expression, instead of assign. 2017-12-12 14:23:34 +00:00
Chris Pressey
b7b28830d7 Introducing a new pseudo-opcode is rarely an elegant solution. 2017-12-12 14:09:17 +00:00
Chris Pressey
dbbd99ffe5 Change how backpatching instructions is implemented. 2017-12-12 13:54:35 +00:00
Chris Pressey
19dd089a03 Allow call and goto routines defined further down in the source. 2017-12-12 13:17:00 +00:00
Chris Pressey
60df162625 Refactor: common method to backpatch labels. 2017-12-12 12:51:19 +00:00
Chris Pressey
ec2e051518 Constraint sets may only contain labels, which are resolved late. 2017-12-11 17:49:02 +00:00
Chris Pressey
689ed37f2e Beginnings of implementing word tables. One test still fails. 2017-12-08 13:41:48 +00:00
Chris Pressey
32389e4422 Require that the program does ^buf to get at the address of buf. 2017-12-01 12:36:58 +00:00
Chris Pressey
a95cbb0f47 Introduce IndirectRef and use it instead of adhoc 'copy[]+y' opcode. 2017-12-01 11:44:40 +00:00
Chris Pressey
c91574186b First pass of buffer, pointer, copy b, [p] + y, indirect indexed. 2017-11-24 12:35:36 +00:00
Chris Pressey
42438dd97f Beginning of: buffers and pointers. 2017-11-24 11:30:20 +00:00
Chris Pressey
22cc7bfc11 Support copy'ing a word constant to a word location. Joystick eg. 2017-11-20 15:18:21 +00:00
Chris Pressey
563aaeba47 Remove low/high byte operators until I've thought about it more. 2017-11-17 15:54:50 +00:00
Chris Pressey
9d6ca0b2b4 Low and high address operators, parsing and execution thereof. 2016-06-16 11:10:43 -05:00
Chris Pressey
fc8c85e670 word types, with syntax and analysis thereof 2016-06-16 11:08:57 -05:00
Chris Pressey
007c81acad Split scanner off from parser module, into own module. 2016-06-16 11:04:03 -05:00
Chris Pressey
7b1ee60a73 Initial value for locations: changed syntax, executes, compiles. 2016-06-16 11:03:31 -05:00
Chris Pressey
be76b9a00d Syntax for goto. 2015-10-20 14:10:33 +01:00
Chris Pressey
b4e0756d7e Unbreak evaluator, but break compiler b/c change in parser. 2015-10-20 10:07:28 +01:00
Chris Pressey
2dc4dd988e Parse indirect calls, but break evaluator. 2015-10-20 09:33:30 +01:00
Chris Pressey
7d56705530 Check that the constraints on a routine match those of vector. 2015-10-19 19:17:27 +01:00
Chris Pressey
3010435add Inputs/outputs/trashes are now part of the type information only. 2015-10-19 18:44:20 +01:00
Chris Pressey
98524e931a Vector and routine types are constructors with constraints now. 2015-10-19 18:18:06 +01:00
Chris Pressey
f0b8942aa1 Allow vectors to be decorated with inputs/outputs/trashes; test. 2015-10-19 13:04:08 +01:00
Chris Pressey
a12a44eadb Re-enable disabled test and fix it and add a few related tests. 2015-10-19 12:22:44 +01:00
Chris Pressey
645079f03a Implement 'with interrupts off'. 2015-10-18 23:15:40 +01:00
Chris Pressey
c98e446583 Spec and syntax for vectors and copy instruction. 2015-10-18 19:41:26 +01:00
Chris Pressey
9235c6eacc Support line comments. 2015-10-18 18:54:28 +01:00
Chris Pressey
a933c81768 Well, that's a hack. But it works. 2015-10-18 18:47:47 +01:00
Chris Pressey
4287bf81c1 Parse byte table declarations and indexing modifiers. 2015-10-18 17:40:53 +01:00
Chris Pressey
41432b5cb3 Syntax is syntax, test it there. Register built-ins as symbols. 2015-10-18 17:32:12 +01:00
Chris Pressey
e1cf162a5b Refs have types. 2015-10-18 17:23:01 +01:00
Chris Pressey
522c771208 Add explicitly-addressed memory locations. 2015-10-18 16:22:36 +01:00
Chris Pressey
49e42af953 Implement if not and repeat forever. 2015-10-18 15:32:28 +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