Kartik K. Agaram
c532f0ab5f
84
2014-08-28 19:23:38 -07:00
Kartik K. Agaram
c140d9cc5f
83 - extract a function to run a short slice of instructions
2014-08-28 16:47:09 -07:00
Kartik K. Agaram
fbe15a986a
82
2014-08-28 16:40:28 -07:00
Kartik K. Agaram
d95ed21da9
81 - reify machine state into a 'context' variable
...
Beginning of concurrency primitives.
2014-08-28 14:55:10 -07:00
Kartik K. Agaram
576d603f8f
80
2014-08-27 16:24:40 -07:00
Kartik K. Agaram
3561e8513d
79 - purge unnecessary macros
...
Noob mistake.
2014-08-26 22:05:30 -07:00
Kartik K. Agaram
92819aa5e3
78
2014-08-26 22:00:38 -07:00
Kartik K. Agaram
230415b4e1
77 - 'new' in the interpreter
...
Next we'll try to reimplement it on the simulated machine. But for now,
sys.arc is extraneous.
Debugging this, the commented out prints started to become onerous enough I couldn't
bear to keep them.
2014-08-26 21:55:21 -07:00
Kartik K. Agaram
91226d7c76
76
2014-08-26 11:52:16 -07:00
Kartik K. Agaram
817b7e0be0
75
2014-08-26 10:17:55 -07:00
Kartik K. Agaram
e63534dd85
74
2014-08-23 10:22:57 -07:00
Kartik K. Agaram
ad9e48b34b
73
2014-08-23 10:17:33 -07:00
Kartik K. Agaram
2ee76bda37
72 - broken
...
Thoroughly confused about how to manage memory at initialization time, and how
to maintain type information in the simulated machine.
2014-08-22 11:30:36 -07:00
Kartik K. Agaram
1f18a4fd0a
71
2014-08-22 11:05:51 -07:00
Kartik K. Agaram
2b15484f33
70
2014-08-22 10:47:44 -07:00
Kartik K. Agaram
734e8c2824
69
2014-08-21 21:37:55 -07:00
Kartik K. Agaram
6da81a3e4a
68
2014-08-21 21:04:45 -07:00
Kartik K. Agaram
c7dc4ba972
67
2014-08-21 20:50:38 -07:00
Kartik K. Agaram
0a8858dbc5
66 - bounds checking
...
Currently baked into the processor model, but eventually will be emitted
in generated code.
2014-08-21 20:40:05 -07:00
Kartik K. Agaram
6a2edbe8ca
65 - separate op for array indexing
...
'get' no longer supports that case; that was confusing.
2014-08-21 20:35:52 -07:00
Kartik K. Agaram
6f9bf3a063
64
2014-08-21 20:32:27 -07:00
Kartik K. Agaram
7b6e5972d6
63
2014-08-21 20:08:22 -07:00
Kartik K. Agaram
baf61345bf
62
2014-08-21 19:55:16 -07:00
Kartik K. Agaram
689a480e1e
61 - 'get' for array access
...
get _ 0 => retrieves array length
get _ n => retrieves index n-1
2014-08-21 00:57:57 -07:00
Kartik K. Agaram
0c57bf0a1b
60
2014-08-21 00:31:50 -07:00
Kartik K. Agaram
8a93b211e4
59
2014-08-20 19:49:05 -07:00
Kartik K. Agaram
980e1bf3ca
58
2014-08-20 17:44:20 -07:00
Kartik K. Agaram
b9fef0471d
57 - multi-word or multi-field ops
2014-08-19 23:37:50 -07:00
Kartik K. Agaram
f9dd51f672
56 - 'get' for record access
2014-08-19 21:33:48 -07:00
Kartik K. Agaram
6b133a720e
55
2014-08-19 12:16:47 -07:00
Kartik K. Agaram
624b9e86a1
54
2014-08-19 12:14:51 -07:00
Kartik K. Agaram
889e4b958e
53 - simplest possible allocator: just one word at a time
...
But with tests this time.
2014-08-19 12:02:40 -07:00
Kartik K. Agaram
955ecf4a45
52
2014-08-19 11:58:22 -07:00
Kartik K. Agaram
409e66ccaf
51
2014-08-19 11:23:01 -07:00
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