about summary refs log tree commit diff stats
path: root/shell/tokenize.mu
Commit message (Collapse)AuthorAgeFilesLines
* a second place with lousy storage managementKartik K. Agaram2021-05-191-0/+1
|
* disallow null tracesKartik K. Agaram2021-05-191-7/+28
| | | | | | We now use traces everywhere for error-checking. Null traces introduce the possibility of changing a functions error response, and therefore its semantics.
* give up on nested backquotes for nowKartik K. Agaram2021-05-071-6/+2
|
* first passing test for macroexpandKartik K. Agaram2021-05-061-24/+28
| | | | | | | | In the process I spent a long time tracking down a stray TODO in 108write.subx that I thought would abort but didn't since the switch to baremetal. Then after I reintroduced that assertion I had to go track down a bunch of buffer sizes. Stream sizes continue to be a huge mess.
* belatedly migrate stale example definitionsKartik K. Agaram2021-05-061-1/+5
| | | | | Also bare-bones syntax highlighting for .limg files. Doesn't work when .limg file is first file opened with Vim.
* reading and printing backquotes and unquotesKartik K. Agaram2021-05-031-25/+178
|
* shell: commentsKartik K. Agaram2021-04-291-0/+47
|
* .Kartik K. Agaram2021-04-291-1/+0
|
* load large definitionsKartik K. Agaram2021-04-291-1/+1
|
* shell: bugfix for stream literalsKartik K. Agaram2021-04-281-2/+33
| | | | | I was forgetting that callers sometimes reuse outputs between successive tokens.
* shell: stream literalsKartik K. Agaram2021-04-271-0/+7
|
* shell: tokenizing stream (string) literalsKartik K. Agaram2021-04-271-1/+78
| | | | We're calling them streams since they support appending.
* .Kartik K. Agaram2021-04-271-8/+1
|
* shell: dot tokenKartik K. Agaram2021-04-151-0/+58
|
* .Kartik K. Agaram2021-04-151-5/+9
|
* shell: quoteKartik K. Agaram2021-04-061-0/+14
|
* strip spaces when tokenizingKartik K. Agaram2021-03-081-0/+1
| | | | Thanks Max Bernstein for reporting this.
* 7866Kartik Agaram2021-03-071-17/+17
|
* 7857 - shell: first function callKartik K. Agaram2021-03-051-8/+154
|
* 7842 - new directory organizationKartik K. Agaram2021-03-031-0/+422
Baremetal is now the default build target and therefore has its sources at the top-level. Baremetal programs build using the phase-2 Mu toolchain that requires a Linux kernel. This phase-2 codebase which used to be at the top-level is now under the linux/ directory. Finally, the phase-2 toolchain, while self-hosting, has a way to bootstrap from a C implementation, which is now stored in linux/bootstrap. The bootstrap C implementation uses some literate programming tools that are now in linux/bootstrap/tools. So the whole thing has gotten inverted. Each directory should build one artifact and include the main sources (along with standard library). Tools used for building it are relegated to sub-directories, even though those tools are often useful in their own right, and have had lots of interesting programs written using them. A couple of things have gotten dropped in this process: - I had old ways to run on just a Linux kernel, or with a Soso kernel. No more. - I had some old tooling for running a single test at the cursor. I haven't used that lately. Maybe I'll bring it back one day. The reorg isn't done yet. Still to do: - redo documentation everywhere. All the README files, all other markdown, particularly vocabulary.md. - clean up how-to-run comments at the start of programs everywhere - rethink what to do with the html/ directory. Do we even want to keep supporting it? In spite of these shortcomings, all the scripts at the top-level, linux/ and linux/bootstrap are working. The names of the scripts also feel reasonable. This is a good milestone to take stock at.
d='n419' href='#n419'>419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481