Commit Graph

9001 Commits

Author SHA1 Message Date
Kartik K. Agaram dbe8d43671 50 2014-08-18 12:12:58 -07:00
Kartik K. Agaram 4a0b335c28 49 - make Readme less ambiguous
As expected, mu works just as well with named variables.
Maybe I want to insert the local stack frame computations automatically
using the assembler? How to indicate globals then? Add 'local' metadata only
if 'global' is absent? What about lexical stack frames?
2014-08-18 10:23:24 -07:00
Kartik K. Agaram ab8619a148 48 2014-08-02 15:38:50 -07:00
Kartik K. Agaram 39dd5cd491 47 2014-08-02 15:26:08 -07:00
Kartik K. Agaram 0cd4bfc8ae 46 - there's no continue bug after all in anarki 2014-08-02 02:25:32 -07:00
Kartik K. Agaram d90d6629a9 45 - 'deref' metadata working in output args
Likely still some erroneous corner cases. What happens if I try to write indirectly
to a boolean value? Should raise a reasonable error.
2014-07-31 03:46:05 -07:00
Kartik K. Agaram b20165a890 44 - now 'deref' is a bit of metadata on any operand rather than a special op
Still only works in read, and only in a single instruction. But these are details.
2014-07-31 02:27:41 -07:00
Kartik K. Agaram 52c3822e08 43 - tests for 'deref' and 'copy' 2014-07-31 02:19:38 -07:00
Kartik K. Agaram fa234f9a86 42 - update Readme
Broken since commit 11 on Jul 10.
2014-07-31 02:09:45 -07:00
Kartik K. Agaram 66a52b5ff2 11 - fix 'deref'
It was broken since commit 7.
2014-07-31 02:04:01 -07:00
Kartik K. Agaram 73978d2f82 10 - slightly more DRY 2014-07-31 01:53:14 -07:00
Kartik K. Agaram b90a10d265 9 - shuffle operand type tag to after operand value
This organization should permit multiple metadata tags beyond just type.
Starting to feel some pain from code not being DRY.
Issues that took debugging: a poor search-and-replace, and shuffling offset in convert-braces.
2014-07-31 01:47:32 -07:00
Kartik K. Agaram c41a0c2739 8 2014-07-31 01:27:52 -07:00
Kartik K. Agaram c8a8fb6efa 7 - cleanup 'run'
Finally gave in to permit user-land macros in 'run'. 'm' should translate
to an assembler function to decide what to emit.
2014-07-27 10:55:08 -07:00
Kartik K. Agaram f37b3ab481 6 2014-07-27 10:09:00 -07:00
Kartik K. Agaram 5b7de7f6d6 5 - first stab at allocator, just for ints
Still can't write to a pointer.
2014-07-26 12:48:54 -07:00
Kartik K. Agaram 29c2f5a398 4 - better name for loadi (thanks FMoS VI) 2014-07-26 12:27:47 -07:00
Kartik K. Agaram 1b9ca7b4d7 3 - don't rely too much on arc
I'm dismissing symbols as 'a simple matter of assembling'.
2014-07-26 12:26:43 -07:00
Kartik K. Agaram b163764948 2 - use literal syms instead of type codes 2014-07-26 12:25:40 -07:00
Kartik K. Agaram be34290180 31 - verified that continue generates correct code 2014-07-20 01:34:35 -07:00
Kartik K. Agaram 4e5cff3d4a 30 2014-07-18 19:08:38 -07:00
Kartik K. Agaram c82603cafb 29 2014-07-18 19:04:43 -07:00
Kartik K. Agaram b794da7fe9 28 - support 'continue'
We still haven't verified that the generated code is correct.
Also, time to fix that bug in arc's continue.
2014-07-17 09:21:27 -07:00
Kartik K. Agaram 6215fec225 27 - a simple assembler for turning else/break/continue into jumps 2014-07-17 09:03:47 -07:00
Kartik K. Agaram 8ccc6ebf0f 26 - cleanup tests 2014-07-17 08:16:54 -07:00
Kartik K. Agaram 72406d197b 25 2014-07-17 08:13:52 -07:00
Kartik K. Agaram 6134f36da8 24 2014-07-17 07:04:45 -07:00
Kartik K. Agaram c8d7559adb 23 - more comparison ops 2014-07-13 21:27:23 -07:00
Kartik K. Agaram 96ebe1423b 22 - better org'n for fn clauses 2014-07-11 22:53:51 -07:00
Kartik K. Agaram a5e757e1ab 21 - new boolean type 2014-07-11 22:50:55 -07:00
Kartik K. Agaram d17e8291ef 20 - relative addressing for jumps 2014-07-11 22:28:51 -07:00
Kartik K. Agaram 368e76cdf6 19 - example function with type-based dispatch
I imagined we could just push new clauses at the top, but that isn't realistic;
it would mess up all the jump locations.
Either we need to append clauses, or we need some sort of relative adddressing
for locations. Can't think of a third idea at the moment.
Appending clauses is fine as long as functions are restrictive about what they
accept.
2014-07-11 22:26:19 -07:00
Kartik K. Agaram baccb5d569 18 - 'read' renamed to 'arg' and can take an index 2014-07-11 21:58:33 -07:00
Kartik K. Agaram aa0ce16f8b 17 2014-07-11 21:55:26 -07:00
Kartik K. Agaram b83c85c8a4 16 - conditional and unconditional jumps 2014-07-11 21:29:43 -07:00
Kartik K. Agaram 77f8e6cd25 15 2014-07-11 21:22:32 -07:00
Kartik K. Agaram ff8b3afd09 14 - processor model now has a program counter 2014-07-11 21:13:26 -07:00
Kartik K. Agaram d00338ee4a 13 2014-07-11 21:04:43 -07:00
Kartik K. Agaram 6264ac68cf 12 - more arithmetic ops 2014-07-11 21:04:38 -07:00
Kartik K. Agaram f4bc8c3148 11 - enhance the language with types
The types aren't actually used yet. That comes later.
2014-07-10 22:08:08 -07:00
Kartik K. Agaram f9ff24be5a 10 2014-07-09 23:30:09 -07:00
Kartik K. Agaram a032f3e898 9 - rename 'return' to 'reply' 2014-07-06 20:13:15 -07:00
Kartik K. Agaram f4a6518ef7 8 2014-07-06 18:49:53 -07:00
Kartik K. Agaram 40f0a658f0 7 2014-07-06 02:35:45 -07:00
Kartik K. Agaram ceb4710530 6 - compound functions now return values 2014-07-06 02:34:03 -07:00
Kartik K. Agaram 4363daba1f 5 - compound functions now take args 2014-07-06 02:20:14 -07:00
Kartik K. Agaram 52cbb73992 4 - output args now optional 2014-07-06 02:06:42 -07:00
Kartik K. Agaram 8fafaf8982 3 - early return 2014-07-06 01:57:47 -07:00
Kartik K. Agaram a1fe0ff3c7 2 - compound functions 2014-07-06 01:54:09 -07:00
Kartik K. Agaram c72d831021 1 2014-07-06 01:44:32 -07:00