about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2022-04-01 06:13:20 -0700
committerKartik K. Agaram <vc@akkartik.com>2022-04-01 06:13:20 -0700
commitb351ca6ed44f7389c5a158ed069dbace16b50c12 (patch)
tree84098e9d57a291cf7b8547d6d29e7a07477f17c6
parent66a74fdb72b12419707850bc05637ba62b2b42b5 (diff)
downloadmu-b351ca6ed44f7389c5a158ed069dbace16b50c12.tar.gz
tweaks to compiler doc
-rw-r--r--html/mu_instructions.html9
-rw-r--r--mu_instructions9
2 files changed, 10 insertions, 8 deletions
diff --git a/html/mu_instructions.html b/html/mu_instructions.html
index b12e3f12..3988277b 100644
--- a/html/mu_instructions.html
+++ b/html/mu_instructions.html
@@ -31,10 +31,11 @@ body { font-family: monospace; color: #000000; background-color: #ffffd7; }
 <span class="muComment">## Mu's instructions and their table-driven translation</span>
 
 See <a href="http://akkartik.name/akkartik-convivial-20200607.pdf">http://akkartik.name/akkartik-convivial-20200607.pdf</a> for the complete
-story. In brief: Mu is a statement-oriented language. Blocks consist of flat
-lists of instructions. Instructions can have inputs after the operation, and
-outputs to the left of a '<span class="Special">&lt;-</span>'. Inputs and outputs must be variables. They can't
-include nested expressions. Variables can be literals ('n'), or live in a
+story. In brief: Mu is a memory-safe statement-oriented language where most
+statements translate to a single instruction of machine code. Blocks consist of
+flat lists of instructions. Instructions can have inputs after the operation,
+and outputs to the left of a '<span class="Special">&lt;-</span>'. Inputs and outputs must be variables. They
+can't include nested expressions. Variables can be literals ('n'), or live in a
 register ('var/reg') or in memory ('var') at some 'stack-offset' from the 'ebp'
 register. Outputs must be registers. To modify a variable in memory, pass it in
 by reference as an input. (Inputs are more precisely called 'inouts'.)
diff --git a/mu_instructions b/mu_instructions
index 4898f9a1..a7cea787 100644
--- a/mu_instructions
+++ b/mu_instructions
@@ -1,10 +1,11 @@
 ## Mu's instructions and their table-driven translation
 
 See http://akkartik.name/akkartik-convivial-20200607.pdf for the complete
-story. In brief: Mu is a statement-oriented language. Blocks consist of flat
-lists of instructions. Instructions can have inputs after the operation, and
-outputs to the left of a '<-'. Inputs and outputs must be variables. They can't
-include nested expressions. Variables can be literals ('n'), or live in a
+story. In brief: Mu is a memory-safe statement-oriented language where most
+statements translate to a single instruction of machine code. Blocks consist of
+flat lists of instructions. Instructions can have inputs after the operation,
+and outputs to the left of a '<-'. Inputs and outputs must be variables. They
+can't include nested expressions. Variables can be literals ('n'), or live in a
 register ('var/reg') or in memory ('var') at some 'stack-offset' from the 'ebp'
 register. Outputs must be registers. To modify a variable in memory, pass it in
 by reference as an input. (Inputs are more precisely called 'inouts'.)