Browse Source

tweaks to compiler doc

main
Kartik K. Agaram 3 months ago
parent
commit
b351ca6ed4
  1. 9
      html/mu_instructions.html
  2. 9
      mu_instructions

9
html/mu_instructions.html generated

@ -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'.)

9
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'.)

Loading…
Cancel
Save