Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 6655 | Kartik Agaram | 2020-07-16 | 1 | -0/+282 |
| | |||||
* | 6654 | Kartik Agaram | 2020-07-16 | 2 | -125/+296 |
| | |||||
* | 6653 - render deeper trees with a single child | Kartik Agaram | 2020-07-16 | 1 | -2/+14 |
| | | | | | Every time you press a key the depth increases by 1, and then the tree re-renders. | ||||
* | 6652 - function to divide whole numbers | Kartik Agaram | 2020-07-16 | 1 | -13/+112 |
| | |||||
* | 6651 | Kartik Agaram | 2020-07-16 | 1 | -7/+39 |
| | | | | baby steps: rendering a tree node with just one child | ||||
* | 6650 - bit-shift operations really working | Kartik Agaram | 2020-07-14 | 2 | -13/+266 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | test input: fn foo { var y/edx: int <- copy 0 y <- shift-left 2 y <- shift-right 2 y <- shift-right-signed 2 var x: int shift-left x, 2 shift-right x, 2 shift-right-signed x, 2 } output: foo: # . prologue 55/push-ebp 89/<- %ebp 4/r32/esp { $foo:0x00000001:loop: ff 6/subop/push %edx ba/copy-to-edx 0/imm32 c1/shift 4/subop/left %edx 2/imm8 c1/shift 5/subop/right-padding-zeroes %edx 2/imm8 c1/shift 7/subop/right-preserving-sign %edx 2/imm8 68/push 0/imm32 c1/shift 4/subop/left *(ebp+0xfffffff8) 2/imm8 c1/shift 5/subop/right-padding-zeroes *(ebp+0xfffffff8) 2/imm8 c1/shift 7/subop/right-preserving-sign *(ebp+0xfffffff8) 2/imm8 81 0/subop/add %esp 0x00000004/imm32 8f 0/subop/pop %edx } $foo:0x00000001:break: # . epilogue 89/<- %esp 5/r32/ebp 5d/pop-to-ebp c3/return test input 2: $ cat x.mu fn main -> o/ebx: int { o <- copy 3 o <- shift-left 2 } output 2: $ ./translate_mu x.mu $ ./a.elf $ echo $? 12 | ||||
* | 6649 | Kartik Agaram | 2020-07-14 | 2 | -7/+137 |
| | | | | | | Bit-shifts aren't quite right yet. We need to emit /imm8 rather than /imm32. This commit introduces the field, though we don't use it yet. | ||||
* | 6648 - bit-shift instructions in Mu | Kartik Agaram | 2020-07-14 | 4 | -0/+152 |
| | | | | I'm not happy with the names. | ||||
* | 6647 | Kartik Agaram | 2020-07-14 | 1 | -4/+4 |
| | |||||
* | 6646 - in-progress prototype: tree editor | Kartik Agaram | 2020-07-14 | 1 | -0/+111 |
| | |||||
* | 6645 - heap allocations in Mu | Kartik Agaram | 2020-07-13 | 5 | -2/+346 |
| | | | | | | | | - allocate var - populate var, n Both rely on the type of `var` to compute the size of the allocation. No need to repeat the name of the type like in C, C++ or Java. | ||||
* | 6644 | Kartik Agaram | 2020-07-13 | 2 | -99/+99 |
| | |||||
* | 6643 | Kartik Agaram | 2020-07-13 | 3 | -12/+26 |
| | |||||
* | 6642 | Kartik Agaram | 2020-07-12 | 1 | -10/+10 |
| | |||||
* | 6641 | Kartik Agaram | 2020-07-12 | 1 | -3/+4 |
| | |||||
* | 6640 | Kartik Agaram | 2020-07-12 | 5 | -271/+277 |
| | | | | Re-sync markdown files with mu-normie fork. | ||||
* | 6639 | Kartik Agaram | 2020-07-12 | 1 | -6/+4 |
| | |||||
* | 6638 - require '0x' prefix on multi-digit literals | Kartik Agaram | 2020-07-11 | 2 | -1/+135 |
| | | | | | | Mu exclusively uses hex everywhere for a consistent programming experience from machine code up. But we all still tend to say '10' when we mean 'ten'. Catch that early. | ||||
* | 6637 | Kartik Agaram | 2020-07-11 | 2 | -0/+9 |
| | | | | Be more consistent about what we interpret as integer literals. | ||||
* | 6636 | Kartik Agaram | 2020-07-11 | 2 | -0/+2 |
| | |||||
* | 6635 - bugfix | Kartik Agaram | 2020-07-11 | 2 | -3/+47 |
| | |||||
* | 6634 - highlight bad variables in vim | Kartik Agaram | 2020-07-11 | 1 | -0/+2 |
| | |||||
* | 6633 | Kartik Agaram | 2020-07-11 | 2 | -3/+3 |
| | |||||
* | 6632 | Kartik Agaram | 2020-07-11 | 10 | -26/+26 |
| | |||||
* | 6631 | Kartik Agaram | 2020-07-11 | 17 | -22/+341 |
| | |||||
* | 6631 | Kartik Agaram | 2020-07-10 | 76 | -23651/+23830 |
| | |||||
* | 6630 - define type signatures for SubX functions | Kartik Agaram | 2020-07-10 | 5 | -12/+500 |
| | | | | This was easier than I'd feared. | ||||
* | 6629 | Kartik Agaram | 2020-07-10 | 1 | -16/+17 |
| | |||||
* | 6628 | Kartik Agaram | 2020-07-10 | 2 | -1/+3 |
| | |||||
* | 6627 | Kartik Agaram | 2020-07-10 | 12 | -29/+29 |
| | |||||
* | 6626 | Kartik Agaram | 2020-07-09 | 2 | -5/+11 |
| | |||||
* | 6625 | Kartik Agaram | 2020-07-09 | 1 | -210/+210 |
| | |||||
* | 6624 | Kartik Agaram | 2020-07-09 | 2 | -12/+11 |
| | |||||
* | 6623 | Kartik Agaram | 2020-07-08 | 1 | -0/+56 |
| | |||||
* | 6622 - new syscalls: time and ntime | Kartik Agaram | 2020-07-08 | 31 | -23/+120 |
| | | | | | As a side-effect I find that my Linode can print ~100k chars/s. At 50 rows and 200 columns per screen, it's 10 frames/s. | ||||
* | 6621 | Kartik Agaram | 2020-07-06 | 1 | -0/+5 |
| | |||||
* | 6620 | Kartik Agaram | 2020-07-06 | 1 | -1/+1 |
| | |||||
* | 6619 | Kartik Agaram | 2020-07-06 | 1 | -1/+1 |
| | |||||
* | 6618 - new docs | Kartik Agaram | 2020-07-06 | 16 | -1092/+1127 |
| | |||||
* | 6617 | Kartik Agaram | 2020-07-05 | 1 | -7/+5 |
| | |||||
* | 6616 | Kartik Agaram | 2020-07-05 | 1 | -0/+7 |
| | |||||
* | 6615 | Kartik Agaram | 2020-07-05 | 1 | -0/+1 |
| | |||||
* | 6614 | Kartik Agaram | 2020-07-05 | 1 | -2/+2 |
| | | | | Fix CI. | ||||
* | 6613 - first word of vocabulary implemented in Mu | Kartik Agaram | 2020-07-05 | 3 | -44/+21 |
| | |||||
* | 6612 - reorganize layers | Kartik Agaram | 2020-07-05 | 49 | -10/+29 |
| | |||||
* | 6611 - start adding to common vocabulary in Mu | Kartik Agaram | 2020-07-05 | 2 | -2/+2 |
| | |||||
* | 6610 - tweak the Linux boot image generator | Kartik Agaram | 2020-07-05 | 1 | -8/+6 |
| | | | | | So far we hardcoded the translation process and it only supported SubX. Now we pass in an ELF binary and outsource how it's generated. | ||||
* | 6609 | Kartik Agaram | 2020-07-05 | 2 | -1/+100 |
| | |||||
* | 6607 - new prototype dir for spreadsheet ideas | Kartik Agaram | 2020-07-05 | 1 | -0/+0 |
| | |||||
* | 6606 | Kartik Agaram | 2020-07-02 | 2 | -59/+77 |
| |