Documentation

LeanPool.MRiscX.Delab.DelabCode

DelabCode #

This module provides delaborators rendering MRiscX Code back to assembly syntax.

A total map from instruction indices to parsed instruction syntax, used while delaborating a Code value back into surface assembly.

Equations
Instances For

    Unexpand a term-level Instr constructor application back into surface instruction syntax.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Fuel-bounded core of termToInstrMap; fuel bounds the syntax-tree recursion.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Reconstruct a SyntaxInstrMap from its term representation t.

        Equations
        Instances For
          def termToLabelMapAux (fuel : Nat) (t : Lean.TSyntax `term) :

          Fuel-bounded core of termToLabelMap; fuel bounds the syntax-tree recursion.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            Reconstruct a LabelMap from its term representation t.

            Equations
            Instances For
              def createLabelInstructionArray (instructionMap : SyntaxInstrMap) (labelMap : LabelMap) :
              Array (String × Array (Lean.TSyntax `mriscxInstr))

              Group the parsed instructions of instructionMap under their labels, producing the per-label instruction arrays used to render an assembly block.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Unexpander rendering a Code.mk application as a full mriscx ... end block.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For