about summary refs log tree commit diff stats
path: root/translate_subx
Commit message (Collapse)AuthorAgeFilesLines
* shell: ctrl-r runs on real screen without a traceKartik K. Agaram2021-04-171-1/+1
| | | | | We run out of memory fairly early in the course of drawing a chessboard on the whole screen.
* .Kartik K. Agaram2021-04-161-3/+3
|
* rename boot.hex to boot.subxKartik K. Agaram2021-03-141-1/+1
|
* treat boot.hex as a SubX fileKartik K. Agaram2021-03-141-6/+4
|
* 7842 - new directory organizationKartik K. Agaram2021-03-031-26/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* 7440Kartik Agaram2020-12-281-9/+9
|
* 7439 - start translating Mu programs to baremetalKartik Agaram2020-12-281-1/+1
|
* 7401 - clean up support for non-Linux platformsKartik Agaram2020-12-251-15/+2
|
* 7400Kartik Agaram2020-12-251-3/+0
| | | | | Turns out the default 8MB stack is quite enough for the programs I'm currently running.
* 6527 - increase stack limitsKartik Agaram2020-06-151-0/+3
| | | | | | We haven't run into this limit yet, but everytime I see a 'stream overflow' error I run into it while going over all the knobs in apps/subx-params.subx, if I increase Input-size (used by survey.subx) too much.
* core translator phases now emit identical binariesKartik Agaram2020-05-181-1/+1
|
* fix a crash when translating apps/ex1Kartik Agaram2020-05-181-1/+1
|
* 5851Kartik Agaram2020-01-011-0/+53
Rename a few scripts to be more consistent. I'm also starting to feel the urge to bud off `subx run` into its own program, say tools/emulate_x86. It doesn't really rely on the SubX notation at all. And then I could rename `subx translate` to `translate_subx_bootstrap`. Only problem: the commands in the Readme get verbose. But the Readme is gonna need surgery soon anyway to put translate_mu front and center.
size:12pt; font-family: monospace; color: #aaaaaa; background-color: #080808; } .subxS2Comment a { color:inherit; } .subxS1Comment a { color:inherit; } .subxComment a { color:inherit; } .subxH2Comment a { color:inherit; } .subxH1Comment a { color:inherit; } * { font-size:12pt; font-size: 1em; } .muRecipe { color: #ff8700; } .LineNr { color:#444444; } .Constant { color:#00a0a0; } .Special { color:#c00000; } .Comment { color: #8080ff; } --> </style> <script type='text/javascript'> <!-- /* function to open any folds containing a jumped-to line before jumping to it */ function JumpToLine() { var lineNum; lineNum = window.location.hash; lineNum = lineNum.substr(1); /* strip off '#' */ if (lineNum.indexOf('L') == -1) { lineNum = 'L'+lineNum; } lineElem = document.getElementById(lineNum); /* Always jump to new location even if the line was hidden inside a fold, or * we corrected the raw number to a line ID. */ if (lineElem) { lineElem.scrollIntoView(true); } return true; } if ('onhashchange' in window) { window.onhashchange = JumpToLine; } --> </script> </head> <body onload='JumpToLine();'> <a href='https://github.com/akkartik/mu/blob/master/example1.mu'>https://github.com/akkartik/mu/blob/master/example1.mu</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr">1 </span><span class="muRecipe">def</span> <a href='example1.mu.html#L1'>main</a> [ <span id="L2" class="LineNr">2 </span> <span class="Constant">local-scope</span> <span id="L3" class="LineNr">3 </span> a:num <span class="Special">&lt;-</span> add<span class="Constant"> 2</span>,<span class="Constant"> 2</span> <span id="L4" class="LineNr">4 </span> a <span class="Special">&lt;-</span> multiply a,<span class="Constant"> 3</span> <span id="L5" class="LineNr">5 </span> <span class="Comment"># uncomment the next line to see the output</span> <span id="L6" class="LineNr">6 </span><span class="Comment"># $print a</span> <span id="L7" class="LineNr">7 </span>] </pre> </body> </html> <!-- vim: set foldmethod=manual : -->