about summary refs log tree commit diff stats
path: root/apps/mu.subx
Commit message (Collapse)AuthorAgeFilesLines
* 7730 - baremetal/shell: boolean valuesKartik K. Agaram2021-02-121-3/+3
| | | | | In the process I found a bug in the Mu compiler. Limitations of just asserting the emitted code but not running it.
* 7692Kartik Agaram2021-02-071-4/+31
| | | | | It's bad enough that metadata comments are restricted to integer literals; let's at least make them work on _all_ integer literals.
* 7689 - permit metadata on Mu literal integersKartik Agaram2021-02-061-0/+33
| | | | | | | | | | | | | | Metadata is always ignored. It's purely for documentation purposes. But as long as Mu has no named constants it's starting to feel increasingly essential. I'm still not going to bother to add metadata to other parts of the language. Let's see if we need them. Even though it's a little warty that the rules vary throughout the stack: - bare SubX: metadata everywhere - SubX with syntax sugar: no metadata in calls or addressing-mode sigil-expressions - Mu: metadata only for literal integers
* 7350 - mu.subx optimization: skip no-op copiesKartik Agaram2020-12-111-0/+141
|
* 7349Kartik Agaram2020-12-111-12/+12
|
* 7348 - mu.subx bug with string literalsKartik Agaram2020-12-111-0/+63
|
* 7300 - bugfix in type-checking float returnsKartik Agaram2020-11-291-0/+69
|
* 7299 - bug in code-generating float returnsKartik Agaram2020-11-291-54/+122
|
* 7295Kartik Agaram2020-11-291-12/+11
|
* 7292 - mu.subx: loosen copy-byte checks a bitKartik Agaram2020-11-271-125/+31
| | | | | | | Without this there's no way to convert an int to a byte. And that feels too restrictive, and gives up a lot of safe things one might want to do with bytes. (Such as divide a number by 10 and emit the remainder as a byte.)
* 7291Kartik Agaram2020-11-271-12/+11
|
* 7287Kartik Agaram2020-11-271-0/+34
| | | | | Regression: I'd broken compare on bytes. Apparently I took away support for bytes from numberlike-output even though I didn't need to by the end.
* 7286 - mu.subx: isolate bytes from previous valuesKartik Agaram2020-11-271-13/+66
|
* 7285Kartik Agaram2020-11-261-12/+1042
|
* 7284Kartik Agaram2020-11-261-12/+188
|
* 7283Kartik Agaram2020-11-261-98/+12
|
* 7282Kartik Agaram2020-11-261-0/+86
|
* 7281Kartik Agaram2020-11-261-7/+24
|
* 7280Kartik Agaram2020-11-261-9/+9
|
* 7279Kartik Agaram2020-11-261-1/+44
|
* 7278 - typo in mu.subxKartik Agaram2020-11-261-2/+2
|
* 7267 - mu.subx: type-check 'convert' statementsKartik Agaram2020-11-201-0/+637
|
* 7261 - mu.subx: array bounds-checking doneKartik Agaram2020-11-171-98/+236
|
* 7260Kartik Agaram2020-11-171-15/+11
| | | | This seems to preserve the intent of commit 6555.
* 7258Kartik Agaram2020-11-171-9/+9
|
* 7257 - partially undo commit 7253Kartik Agaram2020-11-171-8/+8
| | | | I don't need to pass the function pointer quite so low. I think..
* 7256Kartik Agaram2020-11-171-6/+6
|
* 7253 - mu.subx: starting to bounds-check 'index'Kartik Agaram2020-11-161-50/+51
| | | | | First step: start passing the function name into code-generation functions. We're going to need it for the error message.
* 7251Kartik Agaram2020-11-161-2/+2
|
* 7248 - mu.subx: new primitive 'clear-object'Kartik Agaram2020-11-151-0/+144
|
* 7241 - mu.subx: check float registersKartik Agaram2020-11-151-0/+148
|
* 7240Kartik Agaram2020-11-151-20/+34
|
* 7239Kartik Agaram2020-11-151-7/+114
|
* 7238 - mu.subx: final restrictions on 'addr'Kartik Agaram2020-11-151-2/+337
| | | | I had to tweak one app that wasn't following the rules.
* 7232 - mu.subx: more checks for byte typesKartik Agaram2020-11-121-11/+149
|
* 7230 - mu.subx: some more checks for stmt outputsKartik Agaram2020-11-121-10/+153
|
* 7217Kartik Agaram2020-11-081-6/+24
|
* 7216Kartik Agaram2020-11-081-2/+63
| | | | | In addition to fixing a segfault, the realization here is that we don't always have a type name. Error messages need to take that into account.
* 7192 - more checks around literalsKartik Agaram2020-11-051-22/+318
| | | | | | | We can copy non-zero literals only to non-addr non-offset scalars. This change is surprisingly short for the magnitude of the limb I felt myself going out on for it. Surprising that there were no unpleasant discoveries.
* 7191Kartik Agaram2020-11-051-35/+55
|
* 7190Kartik Agaram2020-11-051-5/+5
| | | | Training sights now on some gaps with offset types.
* 7189 - some validations on function nameKartik Agaram2020-11-051-0/+273
| | | | Mu has no overloading or static dispatch for now.
* 7188 - raise error on deref of var on stackKartik Agaram2020-11-051-1/+74
|
* 7185 - type checks for 'populate-stream'Kartik Agaram2020-11-051-4/+437
| | | | Lots of copy-pasta.
* 7184 - type checks for 'populate'Kartik Agaram2020-11-051-7/+447
|
* 7183 - type checks for 'allocate'Kartik Agaram2020-11-051-1/+347
|
* 7182 - type checks for 'copy-object'Kartik Agaram2020-11-051-1/+412
|
* 7181 - type checks for 'address' instructionKartik Agaram2020-11-051-0/+593
|
* 7180Kartik Agaram2020-11-041-11/+172
| | | | | | | More bugfixes, now all apps are working. In the process of fixing the bugs in translating apps/browse, I found a typo in apps/tile that just happened to accidentally be compiling fine.
* 7179Kartik Agaram2020-11-041-0/+31
| | | | | | After this bugfix, apps/tile/ is now working. apps/browse/ is still failing.