Kartik Agaram
03a1de4536
5835
2019-12-28 00:02:29 -08:00
Kartik Agaram
cea97b7b22
5810
2019-12-09 16:54:34 -08:00
Kartik Agaram
8aeb85f04e
5806
2019-12-09 01:26:58 -08:00
Kartik Agaram
f25f2e98f9
5786
2019-11-30 14:18:36 -08:00
Kartik Agaram
3ccc100b32
5783
2019-11-30 11:15:15 -08:00
Kartik Agaram
367394c7de
5771
2019-11-28 01:02:40 -08:00
Kartik Agaram
374397f0cb
5766
2019-11-26 22:21:06 -08:00
Kartik Agaram
b697b34318
5763
2019-11-26 18:07:55 -08:00
Kartik Agaram
4d20c9ee94
5761
2019-11-26 17:41:25 -08:00
Kartik Agaram
49ffb03084
5756
2019-11-18 17:36:59 -08:00
Kartik Agaram
dd6c5fff9e
5755
...
Support function calls with literal arguments.
2019-11-18 17:29:50 -08:00
Kartik Agaram
e9db8e1f25
5754
...
Support binary instructions with an immediate operand.
2019-11-18 16:30:30 -08:00
Kartik Agaram
6488bfcf85
5753
...
Binaries are now identical again.
There's a little hack here that we should clean up at some point. But it
requires more thought.
Ordering compiler phases is hard. So far we're only at the start of the
slippery slope into that abyss.
2019-11-18 12:50:01 -08:00
Kartik Agaram
442fdabe30
5752
...
Support binary operations with reg/mem and reg operands.
Everything is passing. However, the self-hosting translator now generates
some discrepancies compared to the C++ translator :(
2019-11-18 01:15:29 -08:00
Kartik Agaram
0ea0ebcf81
5751 - start of table of Mu primitives
...
So far this is just the same as our most recent tests. But now we have a
'DSL' for adding more primitives.
2019-11-18 00:24:24 -08:00
Kartik Agaram
3b40e3c331
5750
...
We can now compile primitive statements while selecting the right template
to code-gen each one from. Even when multiple templates have the same name.
2019-11-17 21:01:36 -08:00
Kartik Agaram
edda65475a
5747
2019-11-15 18:44:04 -08:00
Kartik Agaram
95ccc2e055
5745
...
I've been under-estimating the complexity of translating primitive statements.
We need to separately track information for each primitive about operands
for both the source and emitted SubX notation.
2019-11-14 20:10:49 -08:00
Kartik Agaram
75d5b73cfc
5741
...
Support variables at positive stack offsets (formal parameters for functions),
and also an indicator for 'any register' for primitive operations.
2019-11-14 17:19:52 -08:00
Kartik Agaram
525767cb0e
5738
2019-11-10 21:04:21 -08:00
Kartik Agaram
34e01d7f26
5732
2019-11-09 09:34:57 -08:00
Kartik Agaram
fb26bd2141
5731
2019-11-09 09:07:41 -08:00
Kartik Agaram
3a74e0e646
5730
2019-11-09 09:02:24 -08:00
Kartik Agaram
6dd309a2e1
5726
2019-11-03 00:44:25 -07:00
Kartik Agaram
de54d4735b
5725
2019-10-30 09:51:07 -07:00
Kartik Agaram
01c811d9ae
5724
2019-10-29 23:04:12 -07:00
Kartik Agaram
efae9496be
5723
2019-10-29 22:39:47 -07:00
Kartik Agaram
999c529cb9
5716
2019-10-26 23:51:14 -07:00
Kartik Agaram
0a2247726a
5708
2019-10-19 18:53:05 -07:00
Kartik Agaram
c8998b51e1
5707
2019-10-19 18:49:40 -07:00
Kartik Agaram
c83dca9cb4
5706 - example at different levels of syntax sugar
...
Thanks Mateusz Czapliński for the feedback:
https://lobste.rs/s/xtxlec/mu_minimal_hobbyist_computing_stack#c_1mzq94
2019-10-19 18:43:16 -07:00
Kartik Agaram
b1635a5c8e
5701
2019-10-17 22:03:48 -07:00
Kartik Agaram
3c1bc4fcb4
5696
2019-10-03 00:15:08 -07:00
Kartik Agaram
a844bd058a
5684
...
Support function-call syntax when linkifying functions in html files.
2019-09-21 00:22:10 -07:00
Kartik Agaram
4a4a392dc7
5683
2019-09-20 11:25:59 -07:00
Kartik Agaram
f39eaf81fa
5661
2019-09-15 00:29:52 -07:00
Kartik Agaram
a0d3cac4e6
5659
2019-09-15 00:01:26 -07:00
Kartik Agaram
57fa808b18
5637
2019-09-07 13:37:51 -07:00
Kartik Agaram
e850764d8c
5632
2019-09-06 19:57:05 -07:00
Kartik Agaram
8475b51e40
5629
2019-09-06 15:48:54 -07:00
Kartik Agaram
dde37113cb
5625
2019-09-05 00:33:34 -07:00
Kartik Agaram
77c96940d5
5623
2019-09-04 21:29:42 -07:00
Kartik Agaram
007b5c7faa
5614
2019-09-03 23:56:40 -07:00
Kartik Agaram
ae07bf353c
5612
2019-09-02 16:34:31 -07:00
Kartik Agaram
e8a1153af1
5611
2019-09-02 15:46:15 -07:00
Kartik Agaram
18bd3ef902
5607 - start of notation for function calls
2019-09-02 15:36:08 -07:00
Kartik Agaram
604c8315bd
5607
2019-09-01 23:57:29 -07:00
Kartik Agaram
7a81a4505c
5606
2019-09-01 23:38:06 -07:00
Kartik Agaram
b44c754bc0
5605 - sigils: support *disp32
2019-09-01 23:22:39 -07:00
Kartik Agaram
c94ecaf687
5603
2019-09-01 00:39:17 -07:00
Kartik Agaram
cafca95097
5602
2019-09-01 00:12:43 -07:00
Kartik Agaram
075354cd17
5601
2019-08-31 23:58:19 -07:00
Kartik Agaram
282681c729
5600
2019-08-31 23:42:45 -07:00
Kartik Agaram
518429b1cb
5598
2019-08-31 22:34:56 -07:00
Kartik Agaram
bf02a19d02
5596
2019-08-31 22:18:24 -07:00
Kartik Agaram
3046e34da8
5595 - support ebp and esp in sigils
...
The x86 instruction set carves out exceptions for these registers.
2019-08-31 22:14:11 -07:00
Kartik Agaram
e97b446ac3
5594 - rename 'desugar' to 'sigils'
...
There's going to be multiple forms of syntax sugar going forward.
2019-08-31 20:43:41 -07:00
Kartik Agaram
333525360b
5592 - switch register names to lowercase
2019-08-26 11:59:21 -07:00
Kartik Agaram
e0d034b565
5590
2019-08-25 23:33:49 -07:00
Kartik Agaram
fc55af70a5
5589
2019-08-25 23:25:08 -07:00
Kartik Agaram
7c878eb0ea
5583
...
Clean up some missing error messages.
2019-08-25 16:29:10 -07:00
Kartik Agaram
6033844884
5582
2019-08-25 15:54:16 -07:00
Kartik Agaram
0bb09d2e14
5522 - example app: random number stream
...
Turns out Mu's kernel isn't populating /dev/random correctly.
2019-08-20 00:20:38 -07:00
Kartik Agaram
1ed1d1c842
5499
2019-07-31 15:28:23 -07:00
Kartik Agaram
c8a3ccbeb8
5490
2019-07-27 18:26:18 -07:00
Kartik Agaram
6e1eeeebfb
5485 - promote SubX to top-level
2019-07-27 17:47:59 -07:00