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