| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
We don't have any supported 3-byte opcodes at the moment.
|
|
|
|
| |
Fix CI :(
|
|
|
|
| |
This ports commit 4421 to the subx/ program.
|
| |
|
|
|
|
| |
Better name for a layer.
|
|
|
|
| |
Clean up format of example programs.
|
|\
| |
| | |
Use semicolons instead of commas for sequencing
|
|/ |
|
|
|
|
| |
Silence some messages to the console. Fixes #12.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clean up the rat's nest that all my trace management globals had
gradually turned into.
a) Get rid of 'Start_tracing'. Horryibly named, I don't know how I
missed that until now.
b) Never use START_TRACING_UNTIL_END_OF_SCOPE in main(). It's
confusing to combine it with atexit(delete Trace_stream), because the
atexit() never has to run. Instead we'll just manually initialize
Trace_stream and let atexit() clean up.
c) If we run tests we only want a trace for the test run itself. So
delete the Trace_stream that was initialized at the top of main --
once it's clear we had no load-time errors.
d) Clean up horribly "Load Recipes" waypoints, combine them with the better
name, "Mu Prelude".
Putting these together, we have the following manual tests:
- CFLAGS=-g mu x.mu
Should not create last_run.
- CFLAGS=-g mu --trace x.mu
Should create last_run.
Should write it out exactly once.
- CFLAGS=-g mu --trace x.mu # when x.mu has an error
Should create last_run.
Should write it out exactly once.
- CFLAGS=-g mu --trace test copy_literal # C test
Should create last_run.
Should write it out exactly once.
- CFLAGS=-g mu --trace test recipe_with_header # Mu test
Should create last_run.
Should write it out exactly once.
I don't know how to automate these scenarios yet. We need a way to run
our build toolchain atop our stack.
|
| |
|
|
|
|
| |
Unshadow variable. Thanks Max Bernstein for pointing this out.
|
|
|
|
|
| |
Use 'dump' consistently to mean 'to screen' (stderr), and 'save' to mean
'to disk'.
|
|
|
|
| |
Audit poor uses of 'cout'.
|
|
|
|
|
|
| |
To see traces on stdout, set the global `Dump_trace` to true.
Thanks Max Bernstein for the feedback.
|
|\
| |
| | |
Update dependency in Readme
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a large patch, and there's a few things wrong with it:
a) Helpers are incredibly messy. I want to use has_metadata in layer 24,
but can't since it also does error checking. There must be a better
basis set of primitives for managing metadata.
b) Layer 22 introduces operands for checking, but programs with operands
don't actually run until layer 24. So I can't write non-error scenarios
in layer 22. That seems ugly. But if I try to introduce layer 24 first
there's nothing left to check after it.
I *could* play tricks with ordering layers vs transforms. Mu does that a
bit, but it becomes hard to mess with, so I'm trying to avoid that. My
current plan is for layers within an "abstraction level" to be run in
order. Higher layers will necessarily need to come before lower ones.
But hopefully this level of hierarchy will help manage the chaos.
c) The check for whether an instruction is all hex bytes makes me
nervous. I do want to check that an instruction that's just:
cd
tells the programmer that an operand is missing. The check I currently
have is likely not perfectly correct.
I *could* put layer 25 in its own commit. But I guess I'm not doing
that now.
We have a new example program: hello world!
|
|
|
|
|
| |
Never mind, let's drop unused/vestigial altogether. Use absence of names
to signal unused arguments.
|
|
|
|
| |
Drop names of unused arguments.
|
|
|
|
| |
Port commit 4235 to subx.
|
|
|
|
|
| |
Temporarily delete support for /imm tags. We'll bring it back
momentarily in a totally different way.
|
|
|
|
|
|
| |
Word-wrap online help.
Fixes #8.
|
|
|
|
| |
Really Fix CI.
|
|
|
|
| |
Fixes #9.
|
|
|
|
| |
Fix CI.
|
| |
|
|
|
|
| |
Thanks Max Bernstein for the feedback.
|
|
|
|
|
|
| |
Couple of improvements for the tangle/ directory:
a) Start running tangle unit tests at build time again.
b) Option to print out test names as they run, just like in top-level.
|
| |
|
|
|
|
| |
Thanks Max Bernstein for surfacing this idea to my memory.
|
|
|
|
| |
Thanks Max Bernstein. Fixes #7.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
I accidentally published commit 4387, which is broken; most example
files are untranslateable.
I spent a while trying to push on through, but packing operands
correctly into bytes has been surprisingly difficult. Fixing the repo
without further delay.
|
|
|
|
|
|
| |
Fix ex4 binary, which has been corrupted in the repo since commit 4356.
In this time it hasn't changed further. The correct version added here
is also the file that should have been committed then.
|
| |
|
| |
|
|
|
|
| |
Why did I have this?
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Abort relayout if we exit with `:cquit`.
|
| |
|
| |
|
| |
|