Kartik Agaram
91a5f3e103
6774
2020-09-11 00:59:56 -07:00
Kartik Agaram
68df24fa77
6746
2020-09-07 16:39:44 -07:00
Kartik Agaram
0361a76d86
6724
2020-08-22 13:30:48 -07:00
Kartik Agaram
1a1ab91e77
6717
2020-08-15 21:43:52 -07:00
Kartik Agaram
828bc32057
6716
2020-08-15 21:38:36 -07:00
Kartik Agaram
59a2e363f5
6698
2020-08-01 16:28:32 -07:00
Kartik Agaram
af983921f6
6697
2020-08-01 16:25:34 -07:00
Kartik Agaram
1694f9a3b5
6694
2020-07-31 16:15:39 -07:00
Kartik Agaram
7fa80570a0
6693
2020-07-31 16:11:34 -07:00
Kartik Agaram
9cbd4199f3
6685
2020-07-29 22:04:13 -07:00
Kartik Agaram
437838b40d
6678
2020-07-25 19:14:05 -07:00
Kartik Agaram
cd07e9b22c
6673
2020-07-25 15:11:08 -07:00
Kartik Agaram
28b25a4893
6657
2020-07-16 22:34:57 -07:00
Kartik Agaram
efe641a030
6632
2020-07-11 00:11:39 -07:00
Kartik Agaram
1c349ac7c5
6631
2020-07-11 00:02:29 -07:00
Kartik Agaram
ec73ed1230
6631
2020-07-10 23:53:28 -07:00
Kartik Agaram
9a524793ee
6618 - new docs
2020-07-06 01:05:10 -07:00
Kartik Agaram
f33979aab1
6606
2020-07-02 15:22:14 -07:00
Kartik Agaram
d99a870a11
6605
2020-07-01 20:48:45 -07:00
Kartik Agaram
792451d1be
6603
2020-06-30 14:59:45 -07:00
Kartik Agaram
2655a4a91d
6602
2020-06-30 14:54:30 -07:00
Kartik Agaram
1afc882890
6596
2020-06-29 18:31:17 -07:00
Kartik Agaram
05dabd816a
6594 - start standardizing the meaning of 'print'
2020-06-29 17:58:01 -07:00
Kartik Agaram
40323d3388
6593
2020-06-28 23:36:26 -07:00
Kartik Agaram
3a558d22ec
6573
2020-06-21 23:29:46 -07:00
Kartik Agaram
3b02c3dfa2
6572
...
Small change to mu.subx to keep the treeshaker working with it. That's
currently the only place where we prevent jumps across 'functions'.
2020-06-21 17:31:38 -07:00
Kartik Agaram
47fe226b7e
6571
2020-06-21 17:13:21 -07:00
Kartik Agaram
04da2a7d10
6551
2020-06-18 08:59:30 -07:00
Kartik Agaram
8f9b21f085
6547
2020-06-16 00:09:16 -07:00
Kartik Agaram
002f03dde2
6517
2020-06-13 20:27:14 -07:00
Kartik Agaram
86351aafe2
6513
2020-06-12 07:57:38 -07:00
Kartik Agaram
07dba48f13
6512
2020-06-12 00:46:06 -07:00
Kartik Agaram
2d0c3b3e68
6502
2020-06-07 23:59:08 -07:00
Kartik Agaram
48d96636fa
6465
2020-06-04 21:17:11 -07:00
Kartik Agaram
39234e89e1
6447
2020-05-30 08:44:46 -07:00
Kartik Agaram
7bdd25fa39
6446
2020-05-30 01:13:04 -07:00
Kartik Agaram
8c3ecee4c1
6443
2020-05-30 00:23:05 -07:00
Kartik Agaram
aee83e2752
6426
2020-05-28 23:07:56 -07:00
Kartik Agaram
43ce7fdf59
6425
2020-05-28 22:51:43 -07:00
Kartik Agaram
8f4438e526
6414
2020-05-27 20:50:41 -07:00
Kartik Agaram
9f9aad345d
6410
2020-05-27 01:41:55 -07:00
Kartik Agaram
985f7f79be
6408
2020-05-27 00:01:12 -07:00
Kartik Agaram
d796318101
6405
2020-05-25 00:58:12 -07:00
Kartik Agaram
a01ddfa22d
6404
2020-05-25 00:49:21 -07:00
Kartik Agaram
fcc161e705
6397
...
Drop '---' section boundaries from filenames. I noticed them confusing
tab-completion for certain advanced shell setups.
2020-05-24 22:43:18 -07:00
Kartik Agaram
f92836550b
6396
2020-05-24 22:33:51 -07:00
Kartik Agaram
9a77780158
6384
2020-05-22 23:12:11 -07:00
Kartik Agaram
ca358b17a3
table primitives working
...
$ ./translate_subx init.linux 0*.subx && ./a.elf test
2020-05-18 00:44:46 -07:00
Kartik Agaram
6c29edc726
6214
2020-04-27 08:27:16 -07:00
Kartik Agaram
ace5351a9b
6210
2020-04-24 19:51:51 -07:00
Kartik Agaram
dfb4a6f9ce
6178
2020-03-31 00:12:37 -07:00
Kartik Agaram
cbec147d3b
6173
2020-03-27 02:08:02 -07:00
Kartik Agaram
606c1ab49a
6170
2020-03-25 09:54:53 -07:00
Kartik Agaram
84c426d2ab
6169
2020-03-25 09:46:35 -07:00
Kartik Agaram
be19cb8772
6164
2020-03-24 03:49:56 -07:00
Kartik Agaram
e25b9e0a4d
6163
2020-03-23 20:56:58 -07:00
Kartik Agaram
783eb31a05
6162
2020-03-23 20:56:49 -07:00
Kartik Agaram
85a964616d
6146
2020-03-14 14:48:05 -07:00
Kartik Agaram
6db056110b
6144
2020-03-14 01:25:34 -07:00
Kartik Agaram
9428990bd6
6143
2020-03-14 01:06:27 -07:00
Kartik Agaram
9aa6e60538
6139
2020-03-12 01:18:29 -07:00
Kartik Agaram
290f2f677a
6138
2020-03-12 01:16:47 -07:00
Kartik Agaram
89fc6e43d5
6135
2020-03-12 00:46:10 -07:00
Kartik Agaram
d5171ad7fe
6130
2020-03-11 21:34:49 -07:00
Kartik Agaram
38b1bfd4d0
6119
2020-03-10 16:49:14 -07:00
Kartik Agaram
ee0e67b9d7
6091
2020-03-06 18:39:16 -08:00
Kartik Agaram
0743b981a8
6087
2020-03-06 13:51:51 -08:00
Kartik Agaram
651fc300a4
6084
2020-03-06 12:28:57 -08:00
Kartik Agaram
0657fc16ab
6081 - ctags for .mu files
2020-03-05 18:29:00 -08:00
Kartik Agaram
16962ee468
6080
2020-03-05 18:25:37 -08:00
Kartik Agaram
a53ab5266f
6078 - highlight hex literals in Vim
2020-03-02 08:23:54 -08:00
Kartik Agaram
32d5099fa0
6077
2020-03-02 08:20:53 -08:00
Kartik Agaram
af326d9e39
6070
2020-02-29 05:53:13 -08:00
Kartik Agaram
c51f590273
6069
2020-02-29 05:33:03 -08:00
Kartik Agaram
3a2285c613
6068
2020-02-28 11:23:22 -08:00
Kartik Agaram
e62702efd0
6066 - Vim syntax highlighting for Mu files
2020-02-28 11:10:17 -08:00
Kartik Agaram
a09ab577d1
6065
2020-02-27 21:29:10 -08:00
Kartik Agaram
067e1d5102
6063
2020-02-27 18:50:24 -08:00
Kartik Agaram
6163a55370
6061
2020-02-27 17:31:35 -08:00
Kartik Agaram
510a5429ca
6056
2020-02-27 16:47:40 -08:00
Kartik Agaram
71478004a8
6042
2020-02-21 10:21:38 -08:00
Kartik Agaram
f59df9cb75
6038
2020-02-20 18:46:19 -08:00
Kartik Agaram
7c2ac5dcaa
6026
2020-02-18 16:05:13 -08:00
Kartik Agaram
8d79145eaa
6025
2020-02-18 01:38:13 -08:00
Kartik Agaram
75b9ff5010
6018
2020-02-17 20:17:48 -08:00
Kartik Agaram
156cbcff8a
6016
2020-02-17 20:02:02 -08:00
Kartik Agaram
c52ae116ac
6015
2020-02-17 15:29:43 -08:00
Kartik Agaram
ce29c91c9c
6012
2020-02-16 20:15:25 -08:00
Kartik Agaram
3dad94263f
6001
2020-02-09 20:49:38 -08:00
Kartik Agaram
b3891fbc0e
5995
2020-02-08 16:34:27 -08:00
Kartik Agaram
bed42be34f
5975
2020-02-02 00:23:49 -08:00
Kartik Agaram
399d2972f2
5972
2020-02-01 22:56:51 -08:00
Kartik Agaram
aeac1e061d
5966 - document all supported Mu instructions
2020-01-31 18:55:37 -08:00
Kartik Agaram
4bb0b7e93f
5965
2020-01-31 16:17:04 -08:00
Kartik Agaram
21627e9d02
5963
2020-01-30 01:21:36 -08:00
Kartik Agaram
4c0b4b4611
5958
2020-01-30 00:14:53 -08:00
Kartik Agaram
ea62afb1da
5954 - 'factorial' working!
2020-01-29 23:17:36 -08:00
Kartik Agaram
c5ea59605c
5952
2020-01-29 19:45:55 -08:00
Kartik Agaram
b7ec03984f
5950
2020-01-29 17:38:32 -08:00
Kartik Agaram
514a014df9
5949
2020-01-29 17:37:20 -08:00
Kartik Agaram
f4408d76c5
5944
2020-01-28 21:41:24 -08:00
Kartik Agaram
f6078f8d04
5941
2020-01-27 16:17:29 -08:00
Kartik Agaram
1862ab4252
5937
2020-01-27 14:15:35 -08:00
Kartik Agaram
cfdd5b8bf3
5933
...
Expand some buffer sizes to continue building mu.subx natively.
2020-01-27 02:35:35 -08:00
Kartik Agaram
2363ceebaf
5932
2020-01-27 02:23:31 -08:00
Kartik Agaram
8ae2c80e19
5931
2020-01-27 02:12:37 -08:00
Kartik Agaram
1d8849e52d
5930
2020-01-27 02:08:47 -08:00
Kartik Agaram
2104d1a75b
5925
2020-01-27 00:39:46 -08:00
Kartik Agaram
810b0f67fa
5922
2020-01-26 23:46:37 -08:00
Kartik Agaram
5b4f4d63bd
5917
2020-01-22 23:47:33 -08:00
Kartik Agaram
f833e0a0e7
5912
2020-01-20 03:09:06 -08:00
Kartik Agaram
41e4cfc33f
5904
2020-01-19 23:38:06 -08:00
Kartik Agaram
33258e0ad2
5903
2020-01-19 21:58:32 -08:00
Kartik Agaram
1008059f1f
5901
2020-01-19 17:55:59 -08:00
Kartik Agaram
6070c23e5e
5897 - rename comparison instructions
...
Signed and unsigned don't quite capture the essence of what the different
combinations of x86 flags are doing for SubX. The crucial distinction is
that one set of comparison operators is for integers and the second is
for addresses.
2020-01-16 18:31:12 -08:00
Kartik Agaram
5a6601aba9
5896
2020-01-16 18:10:42 -08:00
Kartik Agaram
01e88c8833
5895
2020-01-16 18:10:42 -08:00
Kartik Agaram
675fa93ded
5894
2020-01-16 18:10:42 -08:00
Kartik Agaram
c504ca5661
5893
2020-01-14 01:52:54 -08:00
Kartik Agaram
8fa32599bb
5889
2020-01-14 01:52:54 -08:00
Kartik Agaram
fa786ea791
5884
2020-01-12 14:52:07 -08:00
Kartik Agaram
194d100792
5881
2020-01-10 10:35:17 -08:00
Kartik Agaram
2f899b3b2c
5878
...
The current prototype doesn't really use floating point; drop the
guardrails there.
2020-01-03 22:12:28 -08:00
Kartik Agaram
68071dca1e
5877
2020-01-03 02:17:53 -08:00
Kartik Agaram
7e7a8a6eae
5876 - address -> addr
2020-01-03 01:36:34 -08:00
Kartik Agaram
c9bda4d13e
5875
2020-01-02 15:23:01 -08:00
Kartik Agaram
113bae7311
5856
2020-01-01 17:23:29 -08:00
Kartik Agaram
1b050736ee
5855
2020-01-01 17:11:05 -08:00
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
91624dbaca
5807
2019-12-09 01:32:48 -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
3a7da4e735
5769 - support uppercase hex in SubX
2019-11-28 00:37:26 -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
ffd4a419b4
5717
2019-10-27 00:52:44 -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
bb1a1ac2b6
5704
...
Minor tweaks based on feedback from Max Bernstein.
2019-10-19 14:44:54 -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
68dff52698
5610
2019-09-02 15:42:21 -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
22fb844ba4
5591
2019-08-26 11:54:29 -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